发布时间:2024-10-08
浏览次数:0
系统信息:64位。
mkdir(make,创建目录),ls(list,列出当前目录的内容),rm(,删除文件,如果删除目录,需要加参数-r,表示递归-删除),man (,,后面跟打开该命令的用户手册,输入后输入/-。参数:查找参数如何使用,n查找下一个地方,q退出用户手册),ctrl+l(清屏)、pwd(打印dir,显示工作路径)、ctrl+a:到达指定行的开头
更多信息请参阅书籍:The Linux Line 的第 2 章和第 6 章(什么是 shell,使用命令)
光盘( ), 。代表当前目录,./代表当前目录的子目录,..代表当前目录的父目录,cd /(通过绝对路径进入根目录),cd -(返回原目录)
提示:cd目录名(与cd ./目录名相同)可以使用Tab键补全。如果有多个选项,请双击 Tab 以列出所有匹配选项。
更多信息请参阅书籍:The Linux Line ( in the File ) 第 3 章
copy: $ cp file1 file2 $cp -r dir1 dir2
move: $ mv file dir/
rename: $ mv file1 file2 $mv dir1 dir2 # 如果dir2 存在,则为移动操作
remove: $ rm file $rm -r dir
创建文件: $ touch a.txt $ >a.txt 查看文件: $ cat file
创建目录: $mkdir dir 查看文件类型: $file a.txt
创建隐藏文件/目录:touch . 或 mkdir .mydir,可以通过 ls -a 查看。
使用通配符删除当前目录下的所有文件: rm -rf *字符串匹配,列出/bin目录下所有包含“pin”字符串的文件: ls /bin|grep pin
下载imooc主页:wget
分页查看文件内容:少文件名(按j向下滚动,k向上滚动/字符:搜索字符,输入n查找下一个位置,双击g到达文件头,单击G到达文件末尾,q退出),man命令底部的分页使用了less,所以less中的所有快捷键都可以在man中使用。
放大/缩小/恢复终端字体:ctrl + +ctrl + -ctrl + 0
输入命令后不想执行:ctrl+c
解压 zip 文件: unzip 将文件名压缩为 zip 文件: zip -r 压缩文件名.zip 压缩文件名
解压 *.tar.gz 文件: tar zxvf 文件名被压缩成 tar 文件: tar zcvf 压缩后的文件名为 .tar.gz 压缩后的文件名
解压 *.tar.bz2 文件: tar jxvf 文件名压缩成 tar 文件: tar jcvf 压缩后的文件名为 .tar.gz 压缩后的文件名
输出重定向 ( ): >
将程序的输出保存到文件中:date>.txt(注:date是系统内置程序,输出当前时间)
cat file1 >file 表示将file1的内容复制到文件 cat file1 >>file 表示将file1的内容追加到文件 cat file1 file2 >file 表示将file1和file2连接到文件
标准错误重定向 ( ): 2>
标准输入重定向 (stdin) :)
一般来说,标准输入重定向的使用频率低于管道,如:cat file1|uniq|grep str|sort(uniq 忽略重复行,grep 打印匹配行,sort 对每一行字符串进行排序)
Linux中有这样一个传统:家是但不是。
三种权限:用户对文件主要有三种权限:r()、w()、x()。
三种用户类型:所有者、组、世界
权限的讨论是看所有者、组、世界对文件的r/w/x权限。
例如在终端检查文件权限:$ ls -l a.txt,得到结果(注:检查目录权限,ls -ld mydir):
-rw-rw-rw-。 1 12月23日 6 21:31 a.txt
这行信息传达的信息如下:
文件的r权限表示可以查看文件的内容(cat file),目录的r权限表示可以查看目录的内容(ls mydir);文件的w权限意味着可以编辑文件的内容,目录的w权限意味着我们可以在目录中创建、删除和重命名文件;文件的 x 权限意味着我们可以将其作为程序执行,目录的 x 权限意味着我们可以进入该目录(cd mydir)。
对当前目录添加写权限:chmod +w。
使用vim编辑器创建脚本文件a.sh:vim a.sh(输入i进入插入模式,写一个简单的打印命令:echo hello,esc退出插入模式,大写Z两次保存文件),执行脚本:./a.sh。一般我们是没有执行权限的。你可以这样做:chmod +x a.sh。执行脚本,终端输出:hello。
chmod(文件模式):chmod 666 a.txt(666是文件模式的八进制表示)
获取进程号(PID、ID)
在终端中启动vim,它会占据当前shell,按Ctrl+Shift+T(编辑->键盘快捷键可以查看终端中使用的快捷键,或者根据需要自定义快捷键,如Ctrl+Shift+C复制内容,Ctrl+Shift+V粘贴)打开一个新的终端选项卡,ps aux可以查看系统上的所有进程,因为输出很长,我们可以在ps aux后面添加管道符(|)并使用less程序制作一个寻呼机:ps aux|less,输出中的PID字段就是我们关心的进程号。输入/vim进行搜索,可以看到vim程序的进程号。然而,更通用的检查进程号的方法是使用 grep 命令查找 vim 关键字:ps aux|grep vim。使用kill vim进程号结束vim程序(Ctrl+PgUp,切换到上一个终端选项卡可以看到vim程序已被杀死)。
后台执行
您还可以在命令行中启动图形程序。比如Alt+Tab可以切换回命令行,可以看到当前shell被占用。遇到这种情况该如何处理呢?一个简单的方法是&,它会在后台自动执行,切换回终端后命令行仍然可以使用。但如果出现了占用shell的情况,可以Ctrl+z。如果发现没有响应,请切换回终端并输入 bg。这会和&一样,fg切换回前台,Ctrl+c结束(bg:将任务放到后台执行,fg:将任务放到前台执行)。
杀
Kill命令中常用的信号有2、9、15。其中2代表中断,实现与Ctrl+c相同的功能,由终端发送。通常它会终止一个程序; 15代表终止,这是kill命令发送的默认信号。如果程序仍然“活着”并且可以接受信号; 9 表示杀死。这个信号很特别。鉴于进程可能会选择不同的方式来处理发送给它的信号,包括忽略该信号,使得9号信号不被发送到目标进程,而是内核立即终止该进程。 。当一个进程以这种方式终止时,它没有机会做一些“清理”工作或保存其劳动成果。为此,9号信号可以被视为杀手功能(kill -9进程号),然后在其他终止信号失效时使用。
除了通过kill终止进程之外,很多程序还定义了自己的退出方法。例如,shell可以通过exit命令退出,相当于Ctrl+d。
顺便说一下,这是一个更糟糕的情况。异常程序占用大量内存,导致整个桌面系统死机,导致我们无法在终端中输入命令。这个时候我们应该做什么呢? Linux 同时运行七个工作站。键入 Ctrl+Alt+F2 到达其中一个工作站,杀死此处的进程,然后使用 Ctrl+Alt+F1 返回到运行图形界面的原始工作站。
文件和字符串搜索是开发人员日常工作的重要组成部分。我们来看看shell中有哪些命令可供我们用来实现我们的需求:
- 按名称全局搜索文件
示例:vimrc,该命令还支持正则表达式:--vim[az]rc
在使用过程中,有时你会发现一个奇怪的现象。比如先触摸aa.txt,再触摸aa.txt,发现终端没有任何输出。通过man,你可以学习阅读一个或多个。换句话说,并不是直接搜索整个文件系统。 ,而是从数据库读取数据,这就是它运行如此快的原因。系统中的命令会将系统中的数据存储到数据库中,但是它们通常每天自动运行一次,所以我们刚才创建的文件是找不到的。解决方案是手动运行它:sudo。
find - 在目录层次结构中搜索文件,支持很多参数,常与字符串搜索工具 grep 一起使用,处理搜索到的文件列表。
例:查找。列出当前目录中的所有目录和文件,包括子目录中的文件和目录。
find .|grep .txt,仅列出名称包含.txt的目录和文件
寻找 。 -type f,仅列出文件。
寻找 。 -type f -exec ls -l '{}' ';',-exec的结束符是';',两者之间可以输入任何系统命令。 '{}'代表我们之前找到的文件名。
echo 你好 >a.txt echo 你好 >b.txt 。 -type f -exec grep -n hell0 '{}' ';' -print, -print 打印出匹配项(包含字符串“hello”)所在的文件,-n 打印出匹配项的行号。如果想忽略大小写,可以在grep后面加上参数-i,或者直接-ni。
网络操作主要涉及两部分:远程操作工具ssh和数据传输工具rsync。由于没有可供操作的网络主机,因此暂时跳过此部分。有关更多信息,请参阅书籍:The Linux Line 第 17 章(网络系统)。
在计算机上安装软件的方式主要有以下三种:
手动下载编译好的软件或源码进行安装
下载rpm包安装(类似系统安装deb包)
从官方仓库,使用yum下载安装(类似从官网下载安装,使用apt-get)
手动下载编译好的软件(可执行程序)安装示例:
从 URL 下载编辑器。使用tar jxvf\Text\2.0.2.tar.bz2解压,但执行程序必须使用完整路径来执行压缩包。如果想更方便使用,将其变成系统命令,需要解压整个包。将子文件移动到$PATH 包含的目录中(使用命令echo $PATH 查看),否则无法移动。方法是创建一个符号链接:$ln -s\Text\2.0.2/~/bin/subl,所以直接在终端输入subl即可打开编辑器。
手动下载源码安装示例:
首先从网站下载hello-2.2.tar.bz2并依次执行命令:
$ tar jxvf hello-2.2.tar.bz2
$ cd 你好-2.2
$./
$ 制作
$ 须藤使
在终端中执行$hello,输出:hello,world!。这里./的作用是检查当前环境是否满足安装软件的依赖关系。 make用于从中读取指令进行编译,make用于从中读取指令并将软件安装到指定位置。
安装rpm包:rpm -i rpm包
使用yum 在线下载安装:以安装git 为例:执行命令$ sudo yum install git,git 软件的rpm 包就被下载到本地硬盘,同时yum 命令包裹了rpm 命令,因此直接把安装配置过程也给完成了,也就是一个 yum install git 命令,git 就可以直接使用了,如果想卸载git,只需执行 $ sudo yum remove git即可。
将许多命令集中到一个文件中并作为脚本执行,称为shell脚本编程。
关于shell脚本编程sublime text ubuntu安装,我们分为以下几个部分来一一讲解:
指定解析器
您可以通过 bash、ruby 或其他语言编写脚本。你只需要在脚本的第一行指定用于解析的语法即可(bash的语法非常机器化,很多细节都比较晦涩,所以可以使用ruby这种更人性化的语言来编写脚本) 。喜欢:
#!/usr/bin/env bash 或 #!/usr/bin/env ruby 或 #!/usr/bin/env
命令就是语句,语句就是命令
因为每个命令都是合法的脚本语句,所以可以将多个语句直接列出到脚本中,也可以将它们包装到一个函数中:
10
11
#!/usr/bin/env bash
()
回声“你好”
()
触摸a.txt
# 通过调用函数名来执行
此外sublime text ubuntu安装,还有一些元素是脚本语句的一部分:
如果 [ $# != 1 ]
然后
回声“你好”
菲
注意到,这里的[ $# != 1 ]
其实也可以放到终端中去执行
$[ $# != 1 ]
$回声$?
查看返回指为0 表示命令执行成功。只要if 后面跟一个可以正确执行的命令,则结果为真;如果跟一个执行会出错的命令,那么结果即为假。此外,由于命令对空格是敏感的,这就导致脚本语句对空格也是变态的敏感。
位置参数
执行以下脚本:$ ./.sh a.txt b.txt(执行前需要$ chmod +x .sh):
#!/usr/bin/env bash
回声”
: $#
名字是:$0
第一个是:$1
输出如下:
共 : 2
名称是:./.sh
第一个是:a.txt
这里$0代表命令名,$1代表第一个参数,$2代表第二个参数...,$#代表命令执行时的参数总数。
该脚本不再在当前 shell 中执行
每次启动脚本时,系统都会为当前shell打开一个单独的子shell,并在子shell中执行脚本中的语句。例如,在脚本中导出一个环境变量:
#!/usr/bin/env bash
=“/home//mydir/”
光盘$
触摸你好.txt
当执行 $ ./.sh 时,你会发现当前 shell 中 echo $ 的输出为空,并且当前 shell 中的工作目录没有改变,这意味着该脚本并未在当前 shell 中执行。如果需要在当前shell中执行脚本,执行$.sh就会发现目录已经切换到mydir了,echo $的输出是/home//mydir。
循环控制
编写.sh并将模式更改为可执行:
光盘1美元
echo I am in `pwd` # `pwd` 将取出该命令的输出
对于“ls”中的文件
做
mv $file $file.txt
完毕
添加到 ~/bin 使其成为系统命令。实施:
$ mkdir 我的目录
$ cd mydir;触摸 abc;光盘 ..
$ .sh 位于 /home///mydir
$ ls mydir
a.txt b.txt c.txt
遥控
通过SSH远程登录服务器时,需要先登录,然后执行命令。实际操作中,每次这样的操作都非常麻烦。您可以在本地编写脚本,然后在服务器上执行脚本中的相关命令。
确认执行
让程序在执行过程中暂停并报告一些信息。用户可以根据程序提供的信息来判断是否允许程序继续执行以下操作。这是执行的确认。
#!/usr/bin/env bash
echo -n“你想打个招呼吗?(y/n):”
读取AAA
如果 [“${AAA:-y}”=“y”];然后
回声你好
别的
回声完成,再见。
菲
: 指南。
更多命令请看我为你编译的。
原文链接:
如有侵权请联系删除!
Copyright © 2023 江苏优软数字科技有限公司 All Rights Reserved.正版sublime text、Codejock、IntelliJ IDEA、sketch、Mestrenova、DNAstar服务提供商
13262879759
微信二维码