1.3 Linux 常用命令 3
13.1 file 命令
作用:查看文件的类型(类型按文件内容来分,如: UTF-8, Unicode, ASCII)。
格式: file 文件名
1.3.2 diff 命令
作用:比较两个文件的内容的不同。
格式: diff 文件 1 文件 2
注: 比较结果中 a:表示增加, d:删除。
推荐使用 meld/beyond compare 进行比较。
meld 安装命令: $sudo apt-get install meld
使用命令: meld a.txt b.txt
1.3.3 find 查找命令
作用:根据文件名查找指定的文件。
格式: find 路径 -name “文件名”
示例:
(1)要查找“忘情水.mp3”
$ find /home/study -name "忘情水.mp3" #查到后会显示路径
(2)查找用户主目录下有几个 a.txt 文件
$ find ~ -name "a.txt"
(3)查找用户主目录下有几个.txt 文件
$ find ~ -name "*.txt"
1.3.4 whereis 命令
作用:查找可执行命令的位置。
格式: whereis 命令名
示例:
study:~$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz
1.3.5 grep 命令
作用:根据文件内容查找相应的文件。
格式: grep [选项] “内容” 文件名或路径
常用选项:
-n 显示行号
-R/-r/–recursive 递归搜索文件夹内的文件
示例:查找“中国”
study:~/stage1/week1_LINUX/code$ grep "中国" *
a.txt:我爱你中国
b.txt:我爱你中国
study:~/stage1/week1_LINUX/code$ grep -n "中国" *
a.txt:4:我爱你中国 #显示“中国”在第四行
b.txt:4:我爱你中国 #显示“中国”在第四行
注: *只能查找当前的文件或文件夹。
1.3.6 cat 命令
作用:将文件内容作为标准输出显示。
格式:
cat 文件 1 文件 2 …
示例: cat a.txt
study:~/stage1/week1_LINUX/code$ cat a.txt
aaaaa
bbbbb
ccccc
我爱你中国
1.3.7 more 命令
作用:显示文件内容,可以分页显示。
格式: more 文件名
注: more 命令不能往上翻
示例: more a.txt
study:~/stage1/week1_LINUX/code$ more a.txt
aaaaa
bbbbb
ccccc
我爱你中国
基本操作:
空格 下翻一页
回车 下翻一行
q 退出
1.3.8 less 命令
作用:显示文本文件内容,可以上下回滚翻页。
格式: less 文件名
基本操作:
k 上翻一行
j 下翻一行
q 退出
空格 下翻一页
回车 下翻一行
PageDown 向下翻动一页
PageUp 向上翻动一页
1.3.9 管道操作
运算符: " | "
作用:将命令的输出重定向为另一个命令的输入
格式:命令 1 参数 | 命令 2 | 命令 3 参数…
示例: cat /etc/passwd | grep “xiaoqinglong” –n #搜索 etc 下 passwd 文件中的 "xiaoqinglong"内容。-n: 显示 xiaoqinglong字符所在的行号
1.3.10 输出重定向
输出分为两种:
(1)标准输出
(2)标准错误输出
标准输出重定向:
“>” :将一个命令的标准输出重定向到一个文件(若原来文件中有内容则原文件
中内容被删除)。
“>>” :将一个命令的标准输出追加到一个文件的末尾(若原来文件中有内容, 原
内容不会被删除)。
示例:
$ find /usr -name “ls” > f.txt #将查找结果输出到 f.txt 文档中,如果原来 f.txt 文
件已经存在,则会将原来文件的内容全部清空,然后将查找的结果写入 f.txt 中;
如果 f.txt 不存在则会创建 f.txt, 再将查找的结果写入 f.txt 中。
标准错误输出重定向:
2> :将标准错误输出重定向到文件(若原文件中有内容则会被删除)。
2>>: 将标准错误输出追加到文件(原来文件内容不会被删除)。
示例:
$ find /etc -name "passwd" 2> error.txt #将标准错误输出重定向到 error.txt 中。
$ find /etc -name "passwd" > right.txt 2> error.txt #将正确输出重定向到 right.txt 中,将标准错误输出重定向到 error.txt 中。
重定向所有输出:
&> :将所有标准输出和标准错误输出重定向到一个文件中。
&>> :将所有标准输出和标准错误输出追加到一个文件中。
1.3.11 uname 命令
作用:查看操作系统信息(仅用于 Linux/UNIX 系统)。
格式: uname [-a]
常用选项:
-a 显示全部信息
示例:
study:~$ uname
Linux
1.3.12 date 命令
作用:显示时间。
格式:
date +%D #月/日/年格式显示日期
date +%T #时:分:秒格式显示日期
示例:
study:~$ date
2018 年 07 月 01 日 星期日 22:47:34 CST
study:~$ date +%D
07/01/18
study:~$ date +%T
22:47:50
1.3.13 echo 命令
作用:将字符串作用终端输出。
格式: echo “字符串”
示例:
study:~$ echo "along"
along
study:~$ echo along
along
study:~$ echo -e "along"
along
study:~$ echo -e along
along
1.3.14 gzip 命令
作用:将一个文件压缩,生成压缩后的文件。
格式: gzip 文件名
注: 压缩后原来的文件消失。
压缩后的文件名后缀通常为: .gz
注: GNU 的 zip 格式压缩叫 gz
示例:
study:~/dql/stage1/week1_LINUX/day3/code$ ls
a.txt b.txt
study:~/stage1/week1_LINUX/code$ gzip a.txt
study:~/stage1/week1_LINUX/code$ ls #压缩后原文件 a.txt 消失
a.txt.gz b.txt
压缩的种类分为两种:
(1)有损压缩 (如: mp3, mp4, jpg,)。
(2)无损压缩 (解压后跟原来的文件一模一样,如: zip, gz, png, gif, rar, xz)。
1.3.15 gunzip 命令
作用:解压缩.gz 格式的数据文件。
格式: gunzip 文件名
注:解压缩后原来的压缩文件消失。
示例:
study:~/stage1/week1_LINUX/code$ ls
a.txt.gz b.txt
study:~/stage1/week1_LINUX/code$ gunzip a.txt.gz
study:~/stage1/week1_LINUX/code$ ls
a.txt b.txt #解压缩后原文件 a.txt.gz 消失
注: gzip 和 gunzip 只能针对单个的文件进行操作,不能对文件包(多个文件)进行操作。
1.3.16 打包和解包
tar 命令
作用:对文件或文件夹进行打包和解包的操作。
格式: tar [选项] 文件名 [文件名或路径]
注: 打包后原来的文件都还存在。
常用选项:
-c 创建包
-x 解包
-f 文件名
-v 显示操作的文件
-z 用 gzip/gunzip 对包进行压缩和解压缩
注:
(1) 打包后后缀名为.tar
(2) 打包没有进行压缩
示例 1:常用打包命令
study:~/stage1/week1_LINUX/code$ ls
code exercise
study:~/stage1/week1_LINUX/code$ tar -czvf code.tar.gz code
code/ #将 code 文件夹打包, 并进行 gz 压缩
code/a.txt
code/b.txt
study:~/stage1/week1_LINUX/code$ ls
code code.tar.gz exercise #打包后原文件夹 code 还存在
注: c 和 z 的顺序可以调换。
study:~/stage1/week1_LINUX/code$ ls
code.tar.gz exercise
study:~/stage1/week1_LINUX/code$ tar -xzvf code.tar.gz code
code/ #将 code.tat.gz 压缩包解压缩, 然后解包到 code 文件夹
code/a.txt
code/b.txt
study:~/stage1/week1_LINUX/code$ ls
code code.tar.gz exercise #解压缩后 code.tat.gz 文件还在
注: x 和 z 的顺序可以调换。
study:~/stage1/week1_LINUX/code$ ls
a.txt b.txt c.txt
study:~/stage1/week1_LINUX/code$ tar -czvf abc.tar.gz a.txt b.txt c.txt
a.txt #对多个文件进行打包,并压缩
b.txt
c.txt
study:~/stage1/week1_LINUX/code$ ls
abc.tar.gz a.txt b.txt c.txt
1.3.17 进程管理
进程:是指正在运行的程序。
注:
(1) 每个进程独立占有计算机的内存和 CPU 资源。
(2) 每个进程都有唯一的进程 ID, 且不相同(如第一次打开浏览器的进程 ID 为A,关闭浏览器后,第二次打开浏览器的进程 ID 为 B,则 A 与 B 是不相同的)。
ps 命令:
作用:查看进程
格式: ps [选项]
Linux 下常用选项:
-aux 查看当前系统内的所有进程的详细信息。
示例:
ps <回车> 查看当前环境的进程
ps –aux 查看所有进程
kill 命令
作用:杀死进程。
格式: kill 进程的 pid 号
示例:
study:~/stage1/week1_LINUX/code$ kill 3236
注:
(1) 3236 为某进程的进程号。
(2) ctrl+c 可以终止进程(必须要有杀死进程的权限)。
1.3.18 简单 shell 编程
shell 脚本中以#号开头的内容为注释内容,不参与运行。
shell 程序文件通常以.sh 结尾。以#开头直到本行结尾的内容视为注释内容,不参
与运行。
运行方法:
(1) $ bash shell 程序文件名 #如$ bash myshell.sh
(2) $ . myshell.sh #执行 myshell.sh 文件
(3) $ ./myshell.sh #此方法需要执行权限。 以./执行时先读取文件的第一行
shell 程序的第一行注释:
作用: 指定解释执行此文件程序的解释执行器是谁。
示例:
#!/usr/bin/bash
注:
(1) 意义:由/usr/bin/bash 解释器解释文件。
(2) #!/usr/bin/bash 必须顶格写在文件的第一行。