《Linux命令行大全》重点笔记3
第三部分 常见任务和主要工具
第十四章 软件包管理
14.2 软件包系统工具
发行版本 | 低级工具 | 高级工具 |
---|---|---|
Debian类(如ubuntu) | dpkg | apt-get、aptitude |
Fedora、Red Hat、CentOS | rpm | yum |
14.3 常见软件包管理任务
1、查找库中软件包
Debian | apt-get update; apt-cache search xxx |
---|---|
Red Hat | yum search xxx |
2、安装库中软件包
Debian | apt-get update; apt-get install xxx |
---|---|
Red Hat | yum install xxx |
3、安装文件中软件包
用低级工具安装,但不会安装依赖关系。
Debian | dpkg --install xxx |
---|---|
Red Hat | rpm -i xxx |
4、删除软件包
Debian | apt-get remove xxx |
---|---|
Red Hat | yum erase xxx |
5、更新库中软件包
注意⚠️:全部更新!
Debian | apt-get update; apt-get upgrade |
---|---|
Red Hat | yum update |
6、更新文件中软件包
安装更新包,并取代原版本。
Debian | dpkg --install xxx |
---|---|
Red Hat | rpm -U xxx |
7、列出已安装列表
Debian | dpkg --list |
---|---|
Red Hat | rpm -qa |
8、查看某文件是哪个包安装得到
注意⚠️:参数是文件名!不是包!
Debian | dpkg --search filename |
---|---|
Red Hat | rpm -qf filename |
第十五章 存储介质
略,文件系统管理,需要查手册即可。
第十六章 网络🔑
16.1 检查、检测网络
1、ping——向网络主机发送特殊数据包
发送IMCP ECHO_REQUEST验证网络连接。但可能忽略这些包,防止被攻击。
2、traceroute——跟踪数据包传输路径
显示从本地到目标主机所有停靠点。
3、netstat——检查网络设置及统计数据
netstat -ie
:检查网络接口信息。
netstat -r
:显示内核的网络路由表。
16.2 通过网络传输文件
1、ftp——FTP协议传输文件
注意⚠️:明文传输!
$ ftp servername# 启动ftp连接
Name: anonymous # 匿名登陆
Password: xxx
ftp> lcd /home/me # 切换至本地目录
ftp> get file # 下载至本地/home/me
2、wget——非交互式网络下载工具
可从网站/ftp站点下载文件(一个文件/多个文件/整个网页)。
16.3 远程主机的安全通信
1、ssh——安全登录远程主机
ssh(Secure Shell),TCP22号端口。
ssh remote_ip
:直接连接。
ssh user@remote_ip
:通过账户登录。
2、scp——安全传输文件
scp(Secure Copy),要复制的文件前面加remote_ip:
。
scp remote_ip:file.txt .
:将远程主机file.txt文件安全复制到本地当前目录。
3、sftp——通过ssh安全传输文件
注意⚠️:sftp用ssh加密传输!而且不需要FTP服务器,只需要SSH服务器!也就是SSH服务器可以当FTP服务器来使用。
$ sftp servername# 启动ftp连接
Name: anonymous # 匿名登陆
Password: xxx
sftp> lcd /home/me # 切换至本地目录
sftp> get file # 下载至本地/home/me
第十七章 文件搜索
17.1 locate——查找文件(简单)
locate string
:根据子串string查找文件名。
17.2 find——查找文件(复杂)
find directory
:根据目录directory查找该目录所有文件。
1、test选项
find ~ -type d | wc -l
:统计~目录下目录文件的数量。
-type
只是test选项的一种参数。
2、action选项
-print
-delete
3、option选项
17.3 touch——设定、更新文件修改时间
touch一个不存在的文件时,创建此文件。
注意⚠️:至此,可以用vi、>、>>、touch新建一个空白文件!
1、创建文件
touch newfile
:touch不存在的文件。
2、更新文件修改时间
touch existfile
:touch已存在的文件。
17.4 stat——查看文件全部信息
ls的加强版。
第十八章 归档和备份
18.1 文件压缩
1、gzip——文件压缩与解压缩
原文件为被压缩文件取代。解压缩会还原。
gzip filename
:压缩filename,生成filename.gz。
gunzip filename
:解压filename.gz,但只需写filename即可。
注意⚠️:可以用zcat/zless查看压缩文件。
2、bzip2——高质量压缩但牺牲速度
用法跟gzip一模一样。
bzip2 filename
bunzip2 filename
18.2 文件归档
1、tar——磁带归档工具
**tar只归档,不压缩。**tar(tape archive)
tar cf tarfile directory
:为directory文件夹创建归档文件tarfile。
tar tf tarfile
:查看归档文件内容。
tar xf tarfile
:解压到当前文件夹。
tar xzf tarfile
:解压到当前文件夹。(最常用!)
c:创建。
t:归档文件末尾追加路径名/查看归档文件内容。
x:提取。
f:指定归档文件名。
z:压缩。
2、zip——打包压缩文件
zip既压缩,又归档。
zip options zipfile file
:压缩并打包。
unzip options zipfile
:提取压缩包内容。
18.3 文件/目录同步
1、rsync——远程同步
rsync -av source destination
:source/destination可以是本地文件或目录/远程文件或目录/远程rsync服务器。
-a
:递归归档,保存文件属性。
-v
:详细输出。
第十九章 正则表达式
略,查文档即可。
第二十章 文本处理
1、cat——拼接文件并输出到stdout
cat > foo.txt
:新建foo.txt并输入文本。
cat foo.txt
:显示文件内容。
cat -A foo.txt
:显示包括非打印字符的所有内容。
cat -ns foo.txt
:显示文件内容。-n对行编号;-s移除多余空行。
2、sort——对文本行进行排序
注意⚠️:是对文本排序,用法与cat类似。
sort > foo.txt
:新建foo.txt并输入文本,结束后自动对行排序。
ls -l /usr/bin | sort -nr | head
:查看按文件名长度逆序排序的前10条内容。
-n
:按长度排序,默认是按字典序。
-r
:逆序。
3、uniq——忽略重复行
注意⚠️:只对排好序文本有效!
4、cut——提取文本行的部分内容
提取文本行的部分内容。
5、paste——合并文本行
与cut对应,向文件增加文本列。
paste file1 file2
:新增文本列。
6、join——连接文件相同字段的行
与paste类似,增加文本列。
7、comm——逐行比较两个已排序文件
8、diff——逐行比较文件
9、patch——对原文件进行diff操作
用于更新文本文件,覆盖自身,常用于打补丁。
第二十一章 格式化输出
1、nl——对行标号
等价于cat -n
2、fold——设定行长度
fold -w 12
:每行最长12字符。
fold -w 12 -s
:每行最长12字符,且按单词换行。
3、fmt——文本格式化工具
4、pr——格式化打印文本
5、printf——格式化打印数据
1、roff
2、groff
第二十二章 打印
略。
第二十三章 编译程序
1、获取源代码
2、检查源代码树
3、生成程序
# 只需两行命令
./configure
make
1)./configure
检查环境、是否安装必要的外部工具与组件(由当前项目提供)。
成功时,生成Makefile。
2)Makefile
第一部分定义变量;
第二部分定义生成目标文件所需的依赖文件,以及生成命令。
- 可执行文件依赖文件是
.o
,.o
文件的依赖文件是.c/.h
。
3)make
执行Makefile,生成所有的目标文件,包括最终的可执行文件。
- make命令会保证目标文件比依赖文件新!且如果已存在则不重新生成。
4、安装程序
# 只需一行命令
sudo make install
一般make会生成一个特殊的make目标程序——install!
用超级用户权限把程序安装到/usr/local/bin下。