Linux常用命令
虽然是个人总结的一些适合自己使用的常用命令,但是也欢迎大家补充一些我没总结归纳到的好用的命令!
持 续 更 新
cat 命令
cat 命令用于连接文件并打印到标准输出设备上
语法格式:
cat [-AbeEnstTuv] fileName
参数说明:
-n:由 1 开始对所有输出的行数编号
-b:和 -n 相似,只不过对于空白行不编号
-s:当遇到有连续两行以上的空白行,就代换为一行的空白行
实例:
1.把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
2.把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:
cat -b textfile1 textfile2 >> textfile3
chmod 命令
Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用
语法格式:
chmod [-cfvR] mode file...
参数说明:
mode权限设定字串,格式如下 :
[ugoa...][[+-=][rwxX]...][,...]
其中:
- u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
- 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
- r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
实例:
1.将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:
chmod ug+w,o-w file1.txt file2.txt
2.此外chmod也可以用数字来表示权限,如:
chmod 777 file
语法格式为:
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限
r=4,w=2,x=1
若要rwx属性则4+2+1=7
若要rw-属性则4+2=6
若要r-x属性则4+1=5
rm 命令
Linux rm命令用于删除一个文件或者目录
语法格式:
rm [options] name...
参数说明:
-i:删除前逐一询问确认。
-f:即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r:将目录及以下之档案亦逐一删除。
实例:
rm test.txt
# rm:是否删除 一般文件 "test.txt"? y
rm homework
# rm:无法删除目录"homework": 是一个目录
rm -r homework
# rm:是否删除 目录 "homework"? y
注意! 文件一旦通过rm命令删除,则无法恢复,所以必须格外小心地使用该命令
scp 命令
语法格式:
scp [可选参数] file_source file_target
参数说明:
-r:递归复制整个目录
实例:
复制目录命令格式
scp -r local_folder remote_username@remote_ip:remote_folder
# 或者
scp -r local_folder remote_ip:remote_folder
# 第1个指定了用户名,命令执行后需要再输入密码;
# 第2个没有指定用户名,命令执行后需要输入用户名和密码;
which 命令
Linux which命令用于查找文件;which指令会在环境变量$PATH设置的目录里查找符合条件的文件
语法格式:
which [文件...]
实例:
使用指令"which"查看指令"bash"的绝对路径
which bash
whereis 命令
Linux whereis命令用于查找文件;该指令会在特定目录中查找符合条件的文件;这些文件应属于原始代码、二进制文件,或是帮助文件;该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令
语法格式:
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
参数说明:
-b:只查找二进制文件
-f:不显示文件名前的路径名称
-m:只查找说明文件
实例:
使用指令"whereis"查看指令"bash"的位置,输入如下命令:
whereis bash
bash:/bin/bash/etc/bash.bashrc/usr/share/man/man1/bash.1.gz #输出
$ whereis -b bash #显示bash 命令的二进制程序
bash: /bin/bash /etc/bash.bashrc /usr/share/bash # bash命令的二进制程序的地址
$ whereis -m bash #显示bash 命令的帮助文件
bash: /usr/share/man/man1/bash.1.gz #bash命令的帮助文件地址
mv 命令
Linux mv 命令用来为文件或目录改名、或将文件或目录移入其它位置
语法格式:
mv [options] source dest
mv [options] source... directory
参数说明:
-i:若指定目录已有同名文件,则先询问是否覆盖旧文件
-f:在 mv 操作要覆盖某已有的目标文件时不给任何指示
命令格式 | 运行结果 |
---|---|
mv 文件名 文件名 | 将源文件名改为目标文件名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 目标目录已存在,将源目录移动到目标目录;目标目录不存在则改名 |
mv 目录名 文件名 | 出错 |
实例:
1.将info目录放入logs目录中。注意,如果logs目录不存在,则该命令将info改名为logs
mv info/ logs
2.将/usr/student下的所有文件和目录移到当前目录下,命令行为:
mv /usr/student/* .
more/less 命令
Linux more 命令类似 cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按h;
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件
more 命令
语法结构:
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]
参数说明:
-num:一次显示的行数
-s:当遇到有连续两行以上的空白行,就代换为一行的空白行
+num:从第 num 行开始显示
实例:
从第 20 行开始显示 testfile 之文档内容
more +20 testfile
常用操作命令:
- Enter 向下n行,需要定义。默认为1行
- Ctrl+F 向下滚动一屏
- 空格键 向下滚动一屏
- Ctrl+B 返回上一屏
- = 输出当前行的行号
- :f 输出文件名和当前行的行号
- V 调用vi编辑器
- !命令 调用Shell,并执行命令
- q 退出more
less 命令
语法结构:
less [参数] 文件
参数说明:
-b:<缓冲区大小> 设置缓冲区的大小
-e:当文件显示结束后,自动离开
-f:强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g:只标志最后搜索的关键词
-i:忽略搜索时的大小写
-N:显示每行的行号
-Q:不使用警告音
-s:显示连续空行为一行
-S:行过长时间将超出部分舍弃
实例:
1.ps查看进程信息并通过less分页显示
ps -ef | less
2.浏览多个文件
less log2013.log log2014.log
# 输入:n后,切换到log2014.log
# 输入:p后,切换到log2013.log
常用操作命令:
-
全屏导航:
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏 -
单行导航:
j - 向前移动一行
k - 向后移动一行 -
其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
expr 命令
expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串
语法格式:
expr 表达式
实例:
expr length “this is a test” #计算字串长度
expr substr “this is a test” 3 5 #抓取字串
整数运算:
> expr 14 % 9
5
> expr 10 + 10
20
> expr 1000 + 900
1900
> expr 30 / 3 / 2
5
> expr 30 \* 3 #使用乘号时,必须用反斜线屏蔽其特定含义,因为shell可能会误解显示星号的意义
90
> expr 30 * 3
expr: Syntax error
wc 命令
Linux wc命令用于计算字数;利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据
语法格式:
wc [-clw][--help][--version][文件...]
参数说明:
-c:只显示Bytes数
-l:只显示行数。
-w:只显示字数
实例:
wc testfile # testfile文件的统计信息
3 92 598 testfile # testfile文件的行数为3、单词数92、字节数598
mkdir 命令
Linux mkdir命令用于建立名称为 dirName 之子目录
语法结构:
mkdir [-p] dirName
参数说明:
-p:确保目录名称存在,不存在的就建一个
cd 命令
Linux cd命令用于切换当前工作目录至 dirName(目录参数);其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录);另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,"…" 则表示目前目录位置的上一层目录
语法结构:
cd [dirName]
实例:
跳到目前目录的上上两层:
cd ../..
ls 命令
Linux ls命令用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)
语法结构:
ls [-alrtAFR] [name...]
参数说明:
-a:显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
-l:除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
-r:将文件以相反次序显示(原定依英文字母次序)
-t:将文件依建立时间之先后次序列出
-A:同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F:在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R:若目录下有文件,则以下之文件亦皆依序列出
实例:
列出目前工作目录下所有名称是 s 开头的文件,越新的排越后面:
ls -ltr s*
tar 命令
Linux tar命令用于备份文件;tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件
参数说明:
-c:建立新的备份文件
-C<目的目录>:切换到指定的目录
-f<备份文件>:指定备份文件
-t:列出备份文件的内容
-v:显示指令执行过程
-x:从备份文件中还原文件
-z:通过gzip指令处理备份文件
实例:
压缩文件 非打包:
touch a.c
tar -czvf test.tar.gz a.c # 压缩a.c文件为test.tar.gz
ps 命令
Linux ps命令用于显示当前进程 (process) 的状态
语法结构:
ps [options] [--help]
参数说明:
-A:列出所有的行程
-w:显示加宽可以显示较多的资讯
-au:显示较详细的资讯
-aux:显示所有包含其他使用者的行程
PID:pid