linux基础命令
linxu基础命令2
目录
- linxu基础命令2
- 1 gzip的使用
- 2bzip2的是使用
- 3 xz的使用
- 4 zip 既归档又压缩的工具zip可以压缩目录 gz、bzip2、xz都只能压缩文件,zip压缩后不会删除原文件
- 5 tar 归档工具,只归档不压缩
- 6 cat 拼接文件内容并输出至标准输出
- 7 more 全屏查看文本文件内容,只能从前往后,不能从后往前 文件内容显示完后自动退出
- 8 less 屏查看文本文件内容,可从前往后亦可从后往前。推荐使用
- 9 head 从头部开始打印文件内容,默认打印10行
- 10 tail 查看文本文件尾部内容 默认打印十行
- 11 cut 截取文本内容
- 12 sed 基于行的过滤和转换文本的流编辑器
- 13 awk 基于列的文本报告工具
- 14 sort 默认升序排序,不是按数值大小排序的
- 15 uniq 报告重复的行(连续且完全相同为重复)
- 16 wc 单词统计
- 17 du 查看文件或目录的磁盘空间大小
- 18 df 报告文件系统磁盘空间使用情况
- 19 hostname 查看或临时修改主机名,重开终端有效,重启无效
- 20 hostnamectl 查看或永久修改主机名,重开和重启都有效
- 21 time 显示命令的执行时间 time ls /etc
- 22 clear 清屏与ctrl +l效果一致
- 23 whoami 显示当前登录用户
- 24 w 显示当前在线用户并显示在运行的命令
- 25 who 查看当前在线用户
- 26 which 显示指定命令的绝对路径
- 27 date 显示或设置日期与时间
- 28 ldd 查看指定程序有哪些依赖库文件
1 gzip的使用
1.1 -d 解压缩,解压完成后会删除原文件
[root@localhost ~]# gzip -d passwd.gz
[root@localhost ~]# ls
anaconda-ks.cfg passwd
[root@localhost ~]# gzip passwd
[root@localhost ~]# ls
anaconda-ks.cfg passwd.gz
1.2 -c 将结果标准化输出
[root@localhost ~]# gzip -dc passwd.gz
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
1.3 -# 指定压缩比
[root@localhost ~]# gzip -5 passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd.gz
2bzip2的是使用
[root@localhost ~]# bzip2 passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd.bz2
2.1 -d 解压缩,解压完成后会删除原文件
[root@localhost ~]# bzip2 -d passwd.bz2
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd
2.2 -#指定压缩默认比 默认为6
[root@localhost ~]# bzip2 -5 passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd.bz2
2.3 -k 压缩时保持原文件
[root@localhost ~]# bzip2 -k passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd passwd.bz2
2.4 bunzip2 解压
[root@localhost ~]# bunzip2 passwd.bz2
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd
3 xz的使用
[root@localhost ~]# xz passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd.xz
3.1 -d 解压缩,解压完成后会删除原文件
[root@localhost ~]# xz -d passwd.xz
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd
3.2 -# 指定压缩比 默认为6
[root@localhost ~]# xz -5 passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd.xz
3.3 -k 压缩后保留原文件
[root@localhost ~]# xz -k passwd
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd passwd.xz
3.4 unxz解压
[root@localhost ~]# unxz passwd.xz
[root@localhost ~]# ls
1 2 3 anaconda-ks.cfg passwd
4 zip 既归档又压缩的工具zip可以压缩目录 gz、bzip2、xz都只能压缩文件,zip压缩后不会删除原文件
[root@localhost ~]# zip 1.zip 1
adding: 1/ (stored 0%)
[root@localhost ~]# ls
1 1.zip 2 3 anaconda-ks.cfg passwd
4.1 unzip 解压
root@localhost ~]# ls
1.zip 2 3 anaconda-ks.cfg passwd
[root@localhost ~]# unzip 1.zip
Archive: 1.zip
creating: 1/
[root@localhost ~]# ls
1 1.zip 2 3 anaconda-ks.cfg passwd
5 tar 归档工具,只归档不压缩
root@localhost ~]# tar -cf 1.tar 1
[root@localhost ~]# ls
1 1.tar 2 3 anaconda-ks.cfg passwd
5.1 -c 创建归档的文件
root@localhost ~]# tar -cf 1.tar 1
[root@localhost ~]# ls
1 1.tar 2 3 anaconda-ks.cfg passwd
5.2 -f 操作的归档文件
root@localhost ~]# tar -cf 1.tar 1
[root@localhost ~]# ls
1 1.tar 2 3 anaconda-ks.cfg passwd
5.3 -x 还原归档
[root@localhost ~]# tar -xf 1.tar
[root@localhost ~]# ls
1 1.tar 2 3 anaconda-ks.cfg passwd
5.4 -v 显示归档过程
[root@localhost ~]# tar -cvf 2.tar 2
2/
5.6 -C 将展开的归档文件保存至指定目录下
[root@localhost ~]# tar -xf 2.tar -C /opt/
[root@localhost ~]# cd /opt/
[root@localhost opt]# ls
2
5.7 --delete 从归档文件中删除文件
[root@localhost ~]# tar --delete -f 2.tar 2
[root@localhost ~]# ls
2 2.tar 3 anaconda-ks.cfg passwd
[root@localhost ~]#
[root@localhost ~]# tar -tf 2.tar
5.9 -tf 不展开归档,直接查看归档了哪些文件
[root@localhost ~]# tar -tf 2.tar
2/
5.10 -zcf 归档并调用gzip压缩
[root@localhost ~]# tar -zcf 2.tar 2
[root@localhost ~]# ls
2 2.tar 3 anaconda-ks.cfg passwd
5.11 -zxf 调用gzip解压缩并展开归档
[root@localhost ~]# tar -zxf 2.tar 2
[root@localhost ~]# ls
2 2.tar 3 anaconda-ks.cfg passwd
[root@localhost ~]# file 2.tar
5.12 -jcf 归档比并调用bzip2压缩
[root@localhost ~]# tar -jcf 3.tar 3
[root@localhost ~]# ls
2 2.tar 3 3.tar anaconda-ks.cfg passwd
5.13 -jxf 调用bzip2解压缩并展开归档
[root@localhost ~]# tar -jxf 3.tar
[root@localhost ~]# ls
2 3 3.tar anaconda-ks.cfg passwd
[root@localhost ~]# file 3.tar
3.tar: bzip2 compressed data, block size = 900k
5.14 -Jcf 归档并调用xz压缩
[root@localhost ~]# tar -Jcf 3.tar 3
[root@localhost ~]# ls
2 3 3.tar anaconda-ks.cfg passwd
5.15 -Jxf 调用xz压缩并展开归档
[root@localhost ~]# tar -Jxf 3.tar 3
[root@localhost ~]# file 3.tar
3.tar: XZ compressed data
6 cat 拼接文件内容并输出至标准输出
[root@localhost ~]# cat 4.txt 5.txt
sdh d kvkdsfkdsjk fdskjf jk
aj h djskfdjdjfdhf
6.1 -n 显示行号
[root@localhost ~]# cat -n 4.txt
1 sdh d kvkdsfkdsjk fdskjf jk
7 more 全屏查看文本文件内容,只能从前往后,不能从后往前 文件内容显示完后自动退出
[root@localhost ~]# more passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
8 less 屏查看文本文件内容,可从前往后亦可从后往前。推荐使用
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:995:992:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
9 head 从头部开始打印文件内容,默认打印10行
[root@localhost ~]# head passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
9.1 -n 指定要打印的行数 -n 5
[root@localhost ~]# head -5 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
10 tail 查看文本文件尾部内容 默认打印十行
[root@localhost ~]# tail passwd
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:995:992:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
10.1 -n 指定要打印的行数 -5
[root@localhost ~]# tail -5 passwd
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rngd:x:995:992:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
11 cut 截取文本内容
[root@localhost ~]# head -5 passwd | cut -d ':' -f 1,3
root:0
bin:1
daemon:2
adm:3
lp:4
11.1 -d 指定分隔符,默认是空行
[root@localhost ~]# head -5 passwd | cut -d ':' -f 1,3
root:0
bin:1
daemon:2
adm:3
lp:4
11.2 -f 指定要显示的字段 -f 1,3 显示1和3 -f 1-3 显示1到3
[root@localhost ~]# head -5 passwd | cut -d ':' -f 1,3
root:0
bin:1
daemon:2
adm:3
lp:4
12 sed 基于行的过滤和转换文本的流编辑器
查
[root@localhost ~]# sed -n '8p' passwd
halt:x:7:0:halt:/sbin:/sbin/halt
改
[root@localhost ~]# sed 's/0/5/g' abc
root:x:5:5:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:5:sync:/sbin:/bin/sync
删
[root@localhost ~]# sed '3d' abc
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
13 awk 基于列的文本报告工具
[root@localhost ~]# awk -F: '{print $1,$6}' passwd | head -2
root /root
bin /bin
14 sort 默认升序排序,不是按数值大小排序的
[root@localhost ~]# sort 4.txt
10 2 4
1 2 3
1 2 3
1 3 4
1 4 6
1 4 6
1 6 8
1 6 8
20 4 6
3 4 5
4 7 9
14.1 -n 根据数值大小进行排序
[root@localhost ~]# sort -n 4.txt
1 2 3
1 2 3
1 3 4
1 4 6
1 4 6
1 6 8
1 6 8
3 4 5
4 7 9
10 2 4
20 4 6
14.2 -r 逆序排序
[root@localhost ~]# sort -r 4.txt
4 7 9
3 4 5
20 4 6
1 6 8
1 6 8
1 4 6
1 4 6
1 3 4
1 2 3
1 2 3
10 2 4
14.3 -t 字段分隔符
[root@localhost ~]# sort -t ' ' 4.txt
10 2 4
1 2 3
1 2 3
1 3 4
1 4 6
1 4 6
1 6 8
1 6 8
20 4 6
3 4 5
4 7 9
14.4 -k 以哪个字段为关键字进行排序
[root@localhost ~]# sort -t ' ' -k 3 4.txt
1 2 3
10 2 4
1 3 4
3 4 5
1 4 6
1 4 6
20 4 6
1 6 8
1 6 8
1 6 8
4 7 9
14.5 -u 去重 排序后相同的行只显示一次
[root@localhost ~]# sort -u 4.txt
10 2 4
1 2 3
1 3 4
1 4 6
1 6 8
20 4 6
3 4 5
4 7 9
14.6 -f 排序时忽略大小写
[root@localhost ~]# sort -f 5.txt
Abc
abc
Qop
QWE
qwe
QWW
[root@localhost ~]# cat 5.txt
abc
qwe
QWW
Qop
Abc
QWE
15 uniq 报告重复的行(连续且完全相同为重复)
[root@localhost ~]# sort -r 4.txt | uniq
4 7 9
3 4 5
20 4 6
1 6 8
1 4 6
1 3 4
1 2 3
10 2 4
15.1-c 显示文件中行重复的次数
[root@localhost ~]# sort -r 4.txt |uniq -c
1 4 7 9
1 3 4 5
1 20 4 6
3 1 6 8
2 1 4 6
1 1 3 4
1 1 2 3
1 10 2 4
15.2-d 只显示重复的行
[root@localhost ~]# sort -r 4.txt |uniq -d
1 6 8
1 4 6
15.3-u 显示未重复的行
[root@localhost ~]# sort -r 4.txt |uniq -u
4 7 9
3 4 5
20 4 6
1 3 4
1 2 3
10 2 4
16 wc 单词统计
[root@localhost ~]# wc 5.txt
6 6 24 5.txt
16.1 -c 显示字节数
[root@localhost ~]# head -2 5.txt | wc -c
8
16.2 -l 显示行数
[root@localhost ~]# head -2 5.txt | wc -l
2
16.3 -w 显示单词数
[root@localhost ~]# head -2 5.txt | wc -w
2
17 du 查看文件或目录的磁盘空间大小
[root@localhost ~]# du -sh 5.txt
4.0K 5.txt
17.1 -h 以人类友好的方式显示大小
[root@localhost ~]# du -sh 5.txt
4.0K 5.txt
17.2 -s 显示总的占用空间大小
[root@localhost ~]# du -sh 5.txt
4.0K 5.txt
18 df 报告文件系统磁盘空间使用情况
[root@localhost ~]# df -ih 5.txt
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/cs-root 8.5M 43K 8.5M 1% /
18.1 -h 以人类友好的方式显示大小
[root@localhost ~]# df -ih 5.txt
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/cs-root 8.5M 43K 8.5M 1% /
18.2 -i 显示inode信息
[root@localhost ~]# df -ih 5.txt
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/cs-root 8.5M 43K 8.5M 1% /
19 hostname 查看或临时修改主机名,重开终端有效,重启无效
[root@localhost ~]# hostname
localhost.localdomain
20 hostnamectl 查看或永久修改主机名,重开和重启都有效
[root@localhost ~]# hostnamectl set-hostname YL
[root@localhost ~]# hostnamectl
Static hostname: YL
21 time 显示命令的执行时间 time ls /etc
[root@localhost ~]# time ls
1 4 4.txt 5.txt abc anaconda-ks.cfg passwd
real 0m0.002s
user 0m0.000s
sys 0m0.001s
22 clear 清屏与ctrl +l效果一致
23 whoami 显示当前登录用户
[root@localhost opt]# whoami
root
24 w 显示当前在线用户并显示在运行的命令
[root@YL ~]# w
21:58:35 up 6:00, 2 users, load average: 0.00, 0.17, 0.15
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 - 15:58 5:46m 0.37s 0.37s -bash
root pts/0 192.168.124.1 16:05 3.00s 10.88s 0.01s w
25 who 查看当前在线用户
[root@YL ~]# who
root tty1 2022-07-02 15:58
root pts/0 2022-07-02 16:05 (192.168.124.1)
26 which 显示指定命令的绝对路径
[root@YL ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
27 date 显示或设置日期与时间
[root@YL ~]# date -s '2022/07/02 22:02:35'
Sat Jul 2 22:02:35 CST 2022
27.1 -s 以字符串方式设置时间 +%Y年/%m月/%d日 %H:%M:%S
[root@YL ~]# date -s '2022/07/02 22:02:35'
Sat Jul 2 22:02:35 CST 2022
28 ldd 查看指定程序有哪些依赖库文件
[root@YL ~]# ldd /usr/bin/ls
linux-vdso.so.1 (0x00007ffdec9f3000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f272435f000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007f2724159000)
libc.so.6 => /lib64/libc.so.6 (0x00007f2723d97000)
libpcre2-8.so.0 => /lib64/libpcre2-8.so.0 (0x00007f2723b13000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f272390f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f27247ac000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f27236ef000)