1、 别名
alias 查看系统中所有别名
alias别名=‘原命令’ 设定命名别名(临时生效,重启后会失效)
unalias别名 删除别名
别名永久生效:vi ~/.bashrc 写入环境变量配置文件
注意:
别名生效位置:针对root用户:/root/。bashrc
所有用户生效:/etc/bashrc或者/etc/profile定义
生效输入命令: source /etc/profiles
2、 只查看fengkai.txt 文件(100行)下20到30行内容(企业面试题)
方法一:先通过head –n 命令查看文件的前多少行,再通过管道符传入
例如:[root@fengkai~]# head -30 fengkai.txt | tail -11
方法二:[root@fengkai ~]# sed -n'20,30p' fengkai.txt (补充:-n 取消默认输出,20 30 输出 p (print)打印)
方法三:[root@fengkai ~]# awk '{if(NR>19&&NR<31) print } ' qi
3、 sed 的用法 替换
1. 插入替换文本内容: sed 参数 ‘s#要替换的内容#替换后的内容#g’ 文件名
例如:[root@fengkai ~]# sed -i 's#66#8888#g' fengkai.log
2. sed命令可实现增删改查
sed参数(-n 取消默认输出)‘/待处理文字/参数(-p打印 –d删除)’ 文件名
sed –n ‘/I Love you/d’/fengkai.txt
3. sed取行
[root@fengkai ~]# sed -n '20,30p' fengkai.txt (补充:-n 取消默认输出,20 30 输出 p (print)打印)
补充:
1、不加入参数时只是改变输出内容不改变文本内容,若要改变文本内容加入参数 – i(insert)即可修改文本内容
2、s 常说的查找并替换,用一个字符串替换成另一个;g 与s连用时,表示对当前行全局
匹配替换(与下一个g意义不同)
3、其中三个#可以用@或/替换掉作用一样
4、 链接命令
ln -s 原文件 目标文件
功能:创建软连接文件 选线:-s 创建软连接
硬链接的特征:
1、 拥有相同的i节点和存储block块,可以看作是同一个文件
2、 可通过i节点识别
3、 不能夸分区,跨用户
4、 不能针对目录使用而且不能对不存在的文件使用
软连接的特征:
1、 类似windows快捷方式
2、 软连接拥有自己的i节点和block块,但是数据只存原文件的文件名和i节点号,并没有实际文件数据。
3、 链接文件的权限都是lrwxrwxrwx 但并不是说原文件的执行权限就是它,具体的执行权限由原文件决定。
4、 删除修改任意文件另一个都改变。
5、 删除原文件,链接文件存在但是不能用。
6、 软链接可以对目录使用,而且可以对不存在的文件使用,当对不存在的文件使用时指向的时该文件的目录。
5、 文件搜索命令
(1) locate 文件名
在后台数据库文件中按文件名搜索,搜索速度更快,系数据库统默认一天更新一次,刚写入的数据不能立马搜索,使用Updated 更新数据库,就可以及时更新搜索。
注意: 缺点:只能搜索文件名,并且特定文件夹不能搜索。
(2) 命令的搜索命令 whereis which
where 选项 命令名
搜索命令所在路径及帮助文档所在位置
选项:-b 只查找可执行文件
-m 只查找帮助文档
which 与where 用法基本类似,但是which会显示当前命令的别名
注意:wherewhich 命令只能查找外部命令的帮助文档
(3)字符串搜索命令
grep 选项 字符串 文件命令
在文件中匹配符合条件的字符串
选项:-i 忽略大小写
-v 排除指定字符串
注意: :find 命令与grep 命令的区别
find 命令:在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
grep 命令 在文件中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是半酣匹配。
6、 查找命令 find 搜索范围 搜索条件 参数
注意:避免大范围搜索,find是在系统中搜索符合条件的文件名。如果需要匹配,使用通配符匹配。
1、 find /root -iname fengkai.log
不区分大小按名称写查找(-I 不区分大小写 -name 按名称查找)
2、[root@fengkai~]# find /root -user root
按照所有者查找
3、[root@fengkai~]# find /root –nouser
查找没有所有者的文件(可以用来清理文件)
4、[root@fengkai~]# find /root -mtime 参数
按照时间查找修改的文件
例如 [root@fengkai ~]# find /root -mtime -10 -10 代表10天内修改的文件, 10 代表10天当天修改的文件 +10 代表10前修改的文件
5、[root@fengkai ~]#find /root -size 参数
按照大小查找文件 注意 :k 小写 M 大写
例如:[root@fengkai ~]# find /root -size-25k -25 代表小于25k的文件 25 代表等于25k的文件 +25 代表大于25k的文件
6、[root@fengkai~]# find / inum 节点号
按照节点号查询
7、[root@fengkai~]# find /root -size +20k -a -size -31k
查找指定目录下的介于一定范围的文件
注意: -a and 逻辑与 两个条件都满足 -o or 逻辑或 两个条件满足一个即可。
7、 帮助命令
1、man 命令 相当于 命令 –help(获取命令选项的帮助)
注意:man 命令不能查看bash内核命令查看内核命令用help
man 命令的级别
1 |
查看命令的帮助 |
2 |
查看可被内核调用的函数的帮助 |
3 |
查看函数和函数库的帮助 |
4 |
查看特殊文件的帮助(主要是/etc目录下的文件) |
5 |
查看配置文件帮 |
6 |
查看游戏的帮助 |
7 |
查看其他杂项的帮助 |
8 |
查看系统管理员可用命令的帮助 |
9 |
查看和内核相关文件的帮助 |
查看命令有那个等级的帮助:man –f 命令 相当于 whatis 命令
man–等级数 查看和命令所有帮助
man–k 命令 相当于[root@fengkai ~]#apropos 命令
查看包含命令关键字的所有信息
2、shell内部命令帮助
help shell内部命令
获取内部命令帮助
例如:whereis 命令 确定是否为内部命令
help 命令 获取内部命令帮助
8、 压缩解压命令
注意:linux中并没有后缀名,加上后缀名是为了便于操作和其他管理员维护。
常用压缩格式:.zip .gz .bz2 .tar.gz .tar.bz2
1、 zip格式
a) zip 压缩文件名 原文件
压缩文件
b) zip –r 压缩文件名 原目录
压缩目录
c) unzip 压缩文件 -C 目录
解压缩 .zip 格式文件 -C 目录 是解压到指定目录
2、.gzip格式
a) gzip 原文件
压缩为.gzip格式的压缩文件,原文件会消失
b) gzip –c 原文件 > 压缩文件
压缩为.gzip格式的压缩文件,原文件会保留
例如:[root@fengkai ~]# gzip -c fengkai > fengkai.gz
c) gzip –r 目录
压缩目录下的所有子文件但不能压缩目录
d) gzip –d 压缩文件 -C 目录
解压缩.gz格式文件 -C 目录 是解压到指定目录
e) gunzip 压缩文件 -C 目录
解压缩.gz格式文件 -C 目录 是解压到指定目录(不保留原文件)
3、 .bz2格式
a) bzip2 原文件
压缩为 .bz2 格式 不保留原文件
b) bzip2 –k 原文件
压缩为.bz2格式,保留原文件
注意: .bzip2格式不能压缩目录
c) bzip2 –d 压缩文件
解压缩文件
-k保留压缩文件
d) bunzip2 压缩文件 / bunzip2 -k 压缩文件
用法与上边一样
补充: tar –cvf 打包文件名 原文件 (打包文件)
tar –xvf打包文件名 ( 解打包)
选项: -c 打包文件 -v 显示过程 -f 指定打印后的文件名
4、 .tar.gz格式
a) tar -zcvf 压缩包名.tar.gz 原文件
选项:-z 压缩为.tar.gz 格式
b) tar –zxvf 压缩包名.tar.gz -C 目录
解压缩 .tar.gz格式
5、 .tar.-jcvf 格式
a) tar –jcvf 压缩包名.tar.bz2 原文件
选项:-j 压缩为.tar.bz2 格式
b) tar –jxvf 压缩包名.tar.bz2 -C 目录
解压缩.tar.bz2
补充:-C 目录 是解压到指定目录 每个压缩格式都支持同时压缩多个文件。
9、 关机重启命令
shutdown 选项 时间
选项:-c 取消前一个关机命令
-h关机
-r重启
10、 历史命令
(1) History 选项 历史命令保存文件
选项:
-c 清空历史命令
-w把缓存的历史命令写入历史命令保存文件~/.bash_history
-d 删除指定行的历史记录
补充:
历史命令默认保存1000条,可以在环境变量配置文件 /etc/profile中进行修改
通过[root@fengkai ~]# HISTSIZE=5修改(临时生效)
(2) 历史命令的调用
使用上下箭头可以调用以前的历史命令
使用!n重复第n条命令
使用!!重复上一条命令
使用!字符串 重复执行最后一条以该字串开头的命令