linux基础命令

linxu基础命令2

目录


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)
posted @ 2022-07-02 22:21  Tqing  阅读(46)  评论(0编辑  收藏  举报