文章目录
- linux基础二
- 一、压缩/解压缩命令
- 1.gzip
- 2.bzip2
- 3.xz
- 4.tar //归档工具,只归档不压缩,
- 二、查看文件
- 1.cat
- 2.more
- 3.less
- 4.head
- 5.tail
- 6.head和tail的结合
- 三、文件处理
- 1.cut
- 2.sed
- 3.awk
- 四、文件排序
- 1.sort
- 2.uniq
- 五、文本统计
- 1.wc
- 六、大小统计
- 七、主机名管理
- 1.hostname
- 2.hostnamectl //查看或永久修改主机名,重开终端生效,重启依然有效
- 八、其他
- 1.time
- 2.clear //清屏:ctrl+l
- 3.whoami
- 4.w //显示当前在线用户并显示其在运行的命令
- 5.who //查看当前在线用户
- 6.which
- 7.date
- 8.ldd
- 8.ldd
gzip: //压缩后的文件以.gz结尾 压缩完成后会删除原文件 [root@192 ~]# gzip anaconda-ks.cfg [root@192 ~]# ls anaconda-ks.cfg.gz gzip -d : //解压缩,解压完成后会删除原文件 [root@192 ~]# gzip -d anaconda-ks.cfg.gz [root@192 ~]# ls anaconda-ks.cfg gunzip //解压缩,解压完成后会删除原文件 [root@192 ~]# gunzip anaconda-ks.cfg.gz [root@192 ~]# ls anaconda-ks.cfg2.bzip2
bzip2: //压缩后的文件以.bz2结尾 压缩完成后会删除原文件 [root@192 ~]# bzip2 anaconda-ks.cfg.bz2 [root@192 ~]# ls anaconda-ks.cfg.bz2 bzip2 -d: //解压缩,解压完成后会删除原文件 [root@192 ~]# bzip2 -d anaconda-ks.cfg.bz2 [root@192 ~]# ls anaconda-ks.cfg bunzip2: //解压缩,解压完成后会删除原文件 [root@192 ~]# bunzip2 anaconda-ks.cfg.bz2 [root@192 ~]# ls anaconda-ks.cfg3.xz
xz //压缩后的文件以.xz结尾 压缩完成后会删除原文件 [root@192 ~]# xz anaconda-ks.cfg [root@192 ~]# ls anaconda-ks.cfg.xz xz -d: //解压缩,解压完成后会删除原文件 [root@192 ~]# xz -d anaconda-ks.cfg.xz [root@192 ~]# ls anaconda-ks.cfg unxz: //解压缩,解压完成后会删除原文件 [root@192 ~]# unxz anaconda-ks.cfg.xz [root@192 ~]# ls anaconda-ks.cfg4.tar //归档工具,只归档不压缩,
tar -cf: //-c 创建归档文件 -f 操作的归档文件 [root@192 ~]# tar -cf 222 /usr/local/ tar: Removing leading `/' from member names [root@192 ~]# file 222 222: POSIX tar archive (GNU) tar -x: //还原归档 [root@192 ~]# tar -xf 222 [root@192 ~]# ls 111 222 anaconda-ks.cfg usr tar -zcf: //归档并调用gzip压缩 [root@192 ~]# tar -zcf sysconfig.tar.gz /etc/sysconfig/ tar: Removing leading `/' from member names [root@192 ~]# ls anaconda-ks.cfg sysconfig.tar.gz tar -zxf: //调用gzip解压缩并展开归档 [root@192 ~]# tar -zxf sysconfig.tar.gz [root@192 ~]# ls anaconda-ks.cfg etc sysconfig.tar.gz tar -jcf: //归档并调用bzip2压缩 [root@192 ~]# tar -jcf sysconfig.tar.bz2 /etc/sysconfig/ tar: Removing leading `/' from member names [root@192 ~]# file sysconfig.tar.bz2 sysconfig.tar.bz2: bzip2 compressed data, block size = 900k [root@192 ~]# ls anaconda-ks.cfg sysconfig.tar.bz2 tar -jxf: //调用bzip2解压缩并展开归档 [root@192 ~]# tar -jxf sysconfig.tar.bz2 [root@192 ~]# ls anaconda-ks.cfg etc sysconfig.tar.bz2 tar -Jcf: //归档并调用xz压缩 [root@192 ~]# tar -Jcf sysconfig.tar.xz /etc/sysconfig/ tar: Removing leading `/' from member names [root@192 ~]# file sysconfig.tar.xz sysconfig.tar.xz: XZ compressed data [root@192 ~]# ls anaconda-ks.cfg sysconfig.tar.xz tar -Jxf: //调用xz解压缩并展开归档 [root@192 ~]# tar -Jxf sysconfig.tar.xz [root@192 ~]# ls anaconda-ks.cfg etc sysconfig.tar.xz二、查看文件 1.cat
cat: //拼接文件内容并输出至标准输出(屏幕)
[root@192 ~]# cat /etc/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
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
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
cat -n: //-n 显示行号
[root@192 ~]# cat -n /etc/passwd
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
14 dbus:x:81:81:System message bus:/:/sbin/nologin
15 systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
16 systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
17 tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
18 polkitd:x:998:996:User for polkitd:/:/sbin/nologin
19 unbound:x:997:994:Unbound DNS resolver:/etc/unbound:/sbin/nologin
20 sssd:x:996:993:User for sssd:/:/sbin/nologin
21 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
2.more
//全屏查看文本文件内容,只能从前往后,不能从后往前。文件内容显示完后自动退出
3.less//全屏查看文本文件内容,可从前往后亦可从后往前。推荐使用
4.headhead: //开始打印文件内容,默认打印10行 [root@192 ~]# head /etc/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 head -n: 指定要打印的行数,可以是-n 5也可以是-5 [root@192 ~]# head -5 /etc/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/nologin5.tail
tail: //查看文本文件尾部内容 [root@192 ~]# tail /etc/passwd ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 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 tail -n: //指定要打印的行数,可以是-n 5也可以是-5 [root@192 ~]# tail -5 /etc/passwd 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/nologin6.head和tail的结合
[root@192 ~]# head -5 /etc/passwd |tail -1 //查看/etc/passwd的第五行内容 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin三、文件处理 1.cut
cut: //截取文本内容
-d //指定字段分隔符,默认是空格
-f //指定要显示的字段
[root@192 ~]# cut -d ":" -f 1,7 |head -5 //截取/etc/passwd的第一列和第七列内容,显示前五行
root:/bin/bash
bin:/sbin/nologin
daemon:/sbin/nologin
adm:/sbin/nologin
lp:/sbin/nologin
[root@192 ~]#
2.sed
sed: //基于行的过滤和转换文本的流编辑器 [root@192 ~]# 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@192 ~]# sed -i 's/0/5/g' abc //-i 更改文件内容,永久更改 [root@192 ~]# cat 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/sync3.awk
awk: 基于列的文本报告工具
[root@192 ~]# awk -F : '{print $1,$6}' passwd | head -2
root /root
bin /bin
四、文件排序
1.sort
sort: //默认升序排序,不是按数值大小排序的
[root@192 ~]# sort abc
1 2 3
2 5 8
3 2 1
3 6 9
4 6 8
5 4 2
6 6 6
7 7 7
8 5 2
sort -n: //根据数值大小进行排序
[root@192 ~]# sort -n abc
1 1 4
1 2 3
1 2 4
1 4 7
2 4 6
2 5 8
3 6 9
7 5 9
7 8 9
sort -r: //逆序排序
[root@192 ~]# sort -nr abc
7 8 9
7 5 9
3 6 9
2 5 8
2 4 6
1 4 7
1 2 4
1 2 3
1 1 4
-t //字段分隔符
-k //以哪个字段为关键字进行排序
-u //去重,排序后相同的行只显示一次
-f //排序时忽略字符大小写
2.uniq
uniq: //报告重复的行(连续且完全相同方为重复)
[root@192 ~]# sort -nr abc|uniq
7 7 7
6 6 6
5 4 8
4 2 8
4 2 8
1 5 9
1 2 3
1 2 3
uniq -c //显示文件中行重复的次数
[root@192 ~]# sort -nr abc|uniq -c
1 7 7 7
1 6 6 6
1 5 4 8
1 4 2 8
1 1 5 9
1 1 2 3
2 1 2 3
uniq -d: //只显示重复的行
[root@192 ~]# sort -nr abc|uniq -d
1 2 3
uniq -u: //只显示未重复的行
[root@192 ~]# sort -nr abc|uniq -u
6 6 6
5 4 8
4 2 8
1 5 9
1 2 3
五、文本统计
1.wc
wc -c: //显示字节数 [root@192 ~]# cat abc | wc -c 46 wc-l: //显示行数 [root@192 ~]# cat abc | wc -l 7 wc-w: //显示单词数 [root@192 ~]# cat abc | wc -w 21六、大小统计
du //查看文件或目录占用的磁盘空间大小
-h //以人类友好的方式显示大小
-s //显示总的占用空间大小
[root@192 ~]# du -hs abc
4.0K abc
df //报告文件系统磁盘空间使用情况
-h //以人类友好的方式显示大小
-i //显示inode信息
[root@192 ~]# df -hi
Filesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 460K 384 459K 1% /dev
tmpfs 464K 1 464K 1% /dev/shm
tmpfs 464K 636 464K 1% /run
tmpfs 464K 17 464K 1% /sys/fs/cgroup
/dev/mapper/cl-root 32M 45K 32M 1% /
/dev/mapper/cl-home 16M 3 16M 1% /home
/dev/sda1 512K 310 512K 1% /boot
tmpfs 464K 5 464K 1% /run/user/0
七、主机名管理
1.hostname
hostname: // //查看或临时修改主机名,重开终端有效,重启失效 [root@192 ~]# hostname yy [root@192 ~]# hostname yy2.hostnamectl //查看或永久修改主机名,重开终端生效,重启依然有效
[root@192 ~]# hostnamectl set-hostname yy [root@192 ~]# hostname yy [root@192 ~]# bash [root@yy ~]#八、其他 1.time
time : //显示命令的执行时间,例如time ls /etc [root@yy ~]# time sleep 3 real 0m3.001s user 0m0.001s sys 0m0.000s2.clear //清屏:ctrl+l 3.whoami
whoami: //显示当前登录用户4.w //显示当前在线用户并显示其在运行的命令 5.who //查看当前在线用户
[root@yy ~]# whoami root6.which
which: 显示指定命令的绝对路径 [root@yy ~]# which echo /usr/bin/echo7.date
date: 显示或设置日期与时间
[root@yy ~]# date
Fri Jul 1 21:54:57 CST 2022
//不带参数的date用于显示当前系统日期与时间
-s //以字符串方式设置时间
//格式化输出时间:+
%Y //年
%m //月
%d //日
%H //时
%M //分
%S //秒
[root@yy ~]# date +"%Y-%m-%d %H:%M.%S"
2022-07-01 22:01.27
8.ldd
ldd: //查看指定程序有哪些依赖库文件
[root@yy ~]# ldd /bin/chown
linux-vdso.so.1 (0x00007fff284f5000)
libc.so.6 => /lib64/libc.so.6 (0x00007f562953c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5629b12000)
[root@yy ~]#
//月
%d //日
%H //时
%M //分
%S //秒
[root@yy ~]# date +"%Y-%m-%d %H:%M.%S"
2022-07-01 22:01.27
8.ldd
ldd: //查看指定程序有哪些依赖库文件
[root@yy ~]# ldd /bin/chown
linux-vdso.so.1 (0x00007fff284f5000)
libc.so.6 => /lib64/libc.so.6 (0x00007f562953c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5629b12000)
[root@yy ~]#



