在学习linux系统知识中常会遇到命令模糊情况,本文主要记录linux常用命令二。
1. 压缩命令
压缩命令 | 压缩与解压示例 |
---|
zip | 压缩:zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop 解压:unzip -q shiyanlou.zip -d ziptest |
tar | 压缩:tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop 解压:tar -xf shiyanlou.tar -C tardir |
2. 文件系统
命令 | 说明 | 示例 |
---|
df | df 命令查看磁盘的容量 | df -h |
du | 查看目录的容量 | du -h -d 0 ~ |
fdisk | 查看磁盘分区 | sudo fdisk -l |
mkfs | 格式化磁盘分区 | sudo mkfs.ext4 -q /dev/mapper/loop0p1 |
3. 帮助命令
命令 | 示例 |
---|
help | bash help ls 或者 ls --help |
man | man ls |
info | info ls |
4. 任务计划
crontab 命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/abf9a68c2346a1287a807c10ff2a6b9a.png)
- 启动:sudo cron -f &
- 添加任务:crontab -e
-
- 示例:*/1 * * * * touch /home/shiyanlou/$(date+\%Y\%m\%d\%H\%M\%S)
- 查看任务:crontab -l
- 删除任务:crontab -r
注:
- /var/spool/cron/crontabs 中添加一个该用户自己的任务文档
- /etc/crontab 中添加系统级别的定时任务
5. 命令控制和管道
- 顺序多条命令
- 简单的顺序执行你可以使用;来完成:$ sudo apt-get update;sudo apt-get install some-tool;some-tool
- 选择执行命令
- 使用 && 和 || 判断,使用 $?环境变量获取上一次命令的返回结果
- cut 命令,打印每一行的某一字段
- grep 命令:grep “shiyanlou” -rni
- wc 命令用于统计并输出一个文件中行、单词和字节的数目: wc -l /etc/passwd
- sort 排序 :cat /etc/passwd | sort
- uniq命令可以用于过滤或者输出重复行
6. 文本处理
6.1 文本处理
命令 | 含义 | 示例 |
---|
tr | 用来删除一段文本信息中的某些文字 | echo “hello world” |
col | Tab与空格键转换 | cat /etc/protocols | col -x | cat -A |tail -n 5 |
join | 合并文件(含相同部分) | join file1 file2 |
paste | 直接合并文件 | paste -d ‘:’ file1 file2 file3 |
dos2unix | doc 转 unix文件 | dos2unix file1 |
unix2dos | unix 转 dos文件 | unix2dos file1 |
6.2 数据重定向
文件描述符 | 设备文件 | 说明 |
---|
0 | /dev/stdin | 标准输入 |
1 | /dev/stdout | 标准输出 |
2 | /dev/stderr | 标准错误 |
| /dev/null | 空设备 |
例:cat Documents/test.c hello.c >somefile 2>&1
2:代表错误输出 &1表示somefile
- tee命令同时重定向到多个文件
- exec命令实现“永久”重定向
输出最多的3个命令:cat data1 |cut -c 8-|sort|uniq -dc|sort -rn -k1 |head -3 > /home/shiyanlou/result
6.3 正则表达式
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6fbedfafa4cd06cb369d9f9d6961c4a8.png)
6.4 基本操作
6.4.1 grep 命令
- 正则选择
|参数| 说明 |
|–|:–|
| -G | POSIX 扩展正则表达式,ERE |
| -E | POSIX 基本正则表达式,BRE |
| -P | Perl 正则表达式,PCRE | - 基本参数
参数 | 说明 |
---|
-b | 将二进制文件作为文本来进行匹配 |
-c | 统计以模式匹配的数目 |
-i | 忽略大小写 |
-n | 显示匹配文本所在行的行号 |
-v | 反选,输出不匹配行的内容 |
-r | 递归匹配查找 |
-A n | n 为正整数,表示 after 的意思,除了列出匹配行之外,还列出后面的 n 行 |
-B n | n 为正整数,表示 before 的意思,除了列出匹配行之外,还列出前面的 n 行 |
–color=auto | 将输出中的匹配项设置为自动颜色显示 |
6.4.2 sed 命令
sed [参数]… [执行命令] [输入文件]…
参数 | 说明 |
---|
-n | 安静模式,只打印受影响的行,默认打印输入数据的全部内容 |
-e | 用于在脚本中添加多个执行命令一次执行,在命令行中执行多个命令通常不需要加该参数 |
-f file name | 指定执行 filename 文件中的命令 |
-r | 使用扩展正则表达式,默认为标准正则表达式 |
-i | 将直接修改输入文件内容,而不是打印到标准输出设备 |
命令 | 说明 |
---|
s | 行内替换 |
c | 整行替换 |
a | 插入到指定行的后面 |
i | 插入到指定行的前面 |
p | 打印指定行,通常与-n参数配合使用 |
d | 删除指定行 |
sed简明教程
6.4.3 awk 命令
awk简明教程
7 软件相关
7.1 apt-get 命令
工具 | 说明 |
---|
install | 其后加上软件包名,用于安装一个软件包 |
update | 从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表 |
upgrade | 升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update |
dist-upgrade | 解决依赖关系并升级(存在一定危险性) |
remove | 移除已安装的软件包,包括与被移除软件包有依赖关系的软件包,但不包含软件包的配置文件 |
autoremove | 移除之前被其他软件包依赖,但现在不再被使用的软件包 |
purge | 与 remove 相同,但会完全移除软件包,包含其配置文件 |
clean | 移除下载到本地的已经安装的软件包,默认保存在/var/cache/apt/archives/ |
autoclean | 移除已安装的软件的旧版本软件包 |
7.2 apt-cache 命令
例:apt-cache search softname1
7.3 dpk 命令
参数 | 说明 |
---|
-i | 安装指定 deb 包 |
-R | 后面加上目录名,用于安装该目录下的所有 deb 安装包 |
-r | remove,移除某个已安装的软件包 |
-I | 显示deb包文件的信息 |
-s | 显示已安装软件的信息 |
-S | 搜索已安装的软件包 |
-L | 显示已安装软件包的目录信息 |
8 进程
命令 | 说明 | 示例 |
---|
ps | 查看进程 | ps -afxo user,ppid,pid,pgid,command |
pstree | 查看进程树状关系图 | pstree |
命令+ & 或者 ctrl + z | 后台运行 | ls & |
jobs | 后台查看 | jobs |
fg [%jobnumber] | 后台切到前台 | fg %1 |