-n:由 1 开始对所有输出的行数编号。
ubuntu@VM-24-12-ubuntu:~/20221212$ cat case.sh
#!/bin/bash
echo "请输入数字:"
read num
case $num in
1)
echo "你选择了1"
;;
2)
echo "你选择了2"
;;
3)
echo "你选择了3"
;;
4)
echo "你选择了4"
;;
*)
echo "输入错误"
;;
esac
ubuntu@VM-24-12-ubuntu:~/20221212$ cat -n case.sh
1 #!/bin/bash
2 echo "请输入数字:" num
3 read -p -n1 "你输入的num是" num
4 case $num in
5 1)
6 echo "你选择了1"
7 ;;
8 2)
9 echo "你选择了2"
10 ;;
11 3)
12 echo "你选择了3"
13 ;;
14 4)
15 echo "你选择了4"
16 ;;
17 *)
18 echo "输入错误"
19 ;;
20 esac
每个文件的属性由左边第一部分的 10 个字符来确定(如下图)
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,
第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,
第7-9位确定其他用户拥有该文件的权限。
其中,
第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;
第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
Linux/Unix 的文件调用权限分为三级 :
文件所有者(Owner)
用户组(Group)
其它用户(Other Users)
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: -rwxrwx— 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= — = 0+0+0 = 0
文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
ubuntu@VM-24-12-ubuntu:~/20221212$ chmod 777 users
diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则 diff 会比较目录中相同文件名的文件,但不会比较其中子目录。
ubuntu@VM-24-12-ubuntu:~/20221212$ diff func1.sh func2.sh
4c4
< echo "输入的第一个数为:"
---
> echo "请输入的第一个数为:"
6c6
< echo "输入的第二个数为:"
---
> echo "请输入的第二个数为:"
11a12
>
13c14
< echo "输入的两个数字之和为:$?"
---
> echo "两个数字之和为:$?"
ubuntu@VM-24-12-ubuntu:~/20221212$ find ./ -name '*.sh'
./func1.sh
./for.sh
./test2.sh
./break.sh
./case.sh
./test1.sh
./func2.sh
./func.sh
./while.sh
./if.sh
ubuntu@VM-24-12-ubuntu:~/20221212$ find ./ -name 'f*'
./func1.sh
./for.sh
./func2.sh
./func.sh
ubuntu@VM-24-12-ubuntu:~/20221212$ find -cmin -60
.
./test3.sh
ubuntu@VM-24-12-ubuntu:~/20221212$ find ./ -name "*.sh" -exec cp {} ./20221214/ \;
参数:
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
test1.txt文件
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ cat test1.txt
name area age
kobe beijing 18
jm shanghai 19
james changsha 20
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ cut -f1 test1.txt
name
kobe
jm
james
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ cut -d":" -f1 passwd
root
daemon
bin
sys
sync
games
man
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ cut -d: -f1-3 passwd
root:x:0
daemon:x:1
bin:x:2
sys:x:3
sync:x:4
games:x:5
man:x:6
ps查看进程信息并通过less分页显示
ubuntu@VM-24-12-ubuntu:~/20221212$ ps -ef | less
命令格式运行结果
mv source_file(文件) dest_file(文件)
将源文件名 source_file 改为目标文件名 dest_file
mv source_file(文件) dest_directory(目录)
将文件 source_file 移动到目标目录 dest_directory 中
mv source_directory(目录) dest_directory(目录)
目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory
mv source_directory(目录) dest_file(文件) 出错
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r",例如:
rm test.txt
rm:是否删除 一般文件 "test.txt"? y
rm homework
rm: 无法删除目录"homework": 是一个目录
rm -r homework
rm:是否删除 目录 "homework"? y
使用指令"touch"修改文件"test1.sh "的时间属性为当前系统时间,输入如下命令:
首先,使用ls命令查看"test1.sh "文件的属性,如下所示:
ubuntu@VM-24-12-ubuntu:~/20221212$ ls -al test1.sh
-rw-rw-r-- 1 ubuntu ubuntu 242 Dec 12 23:11 test1.sh
执行指令"touch"修改文件属性以后,并再次查看该文件的时间属性,如下所示:
ubuntu@VM-24-12-ubuntu:~/20221212$ touch test1.sh
ubuntu@VM-24-12-ubuntu:~/20221212$ ls -al test1.sh
-rw-rw-r-- 1 ubuntu ubuntu 242 Dec 14 23:07 test1.sh
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:
$ cp –r test/ newtest
scp【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp /root/test ubuntu@82.156.178.247:/home/ubuntu/20221212/
scp -r【本地文件的路径】【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】
scp /root/my.txt ubuntu@82.156.178.247:/home/ubuntu/20221212/
scp 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp root@82.156.178.247:/data/wwwroot/default/111.png /Users/Desktop
scp -r 【服务器用户名】@【服务器地址】:【服务器上存放文件的路径】【本地文件的路径】
scp -r root@82.156.178.247:/data/wwwroot/default/test /Users/Desktop
BEGIN{}:处理数据之前执行,只执行一次
pattern:匹配模式
{commands}:处理的命令
END{}:处理数据之后执行,只执行一次
内置变量
$0
:整行内容
$1-$n
:当前行的第1-n个字段
NF:当前行的字段数
NR:当前行行号
FS:输入字段分隔符,默认为空格或者tab键
RS:输入行分隔符,默认为回车符
ubuntu@VM-24-12-ubuntu:~/20221212$ awk '{print $0}' test1.sh
#!/bin/bash
echo "shell脚本中传递参数:"
echo "脚本名称:$0"
echo "传递的第一个参数:$1"
echo "传递的第二个参数:$2"
echo "传递的参数个数:$#"
echo "传递的参数有:$@"
echo "传递的参数有:$*"
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk '{print $1}' test1.txt
name
kobe
jm
james
zilv
jm
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk '{print $NF}' test1.txt
age
18
19
20
16
21
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk '{print $(NF-1)}' test1.txt
area
beijing
shanghai
changsha
awk: cmd. line:1: (FILENAME=test1.txt FNR=5) fatal: attempt to access field -1
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk '/jm/ {print $2}' test1.txt
shanghai
wuhan
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk -F: '/^gdm/,/^mysql/ {print $NF}' passwd
/bin/false
/usr/sbin/nologin
/bin/bash
/usr/sbin/nologin
/bin/false
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk -F: 'NR==10 {print $1}' passwd
lp
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk -F: 'NR==1,NR==5 {print $1}' passwd
t
daemon
bin
sys
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk -F: 'NR==10,NR==18 {print $1,$NF}' passwd
lp /usr/sbin/nologin
mail /usr/sbin/nologin
news /usr/sbin/nologin
uucp /usr/sbin/nologin
proxy /usr/sbin/nologin
www-data /usr/sbin/nologin
backup /usr/sbin/nologin
list /usr/sbin/nologin
irc /usr/sbin/nologin
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ awk -F: 'NR==10,NR==18 {printf "%-15s%-20s\n",$1,$NF}' passwd
lp /usr/sbin/nologin
mail /usr/sbin/nologin
news /usr/sbin/nologin
uucp /usr/sbin/nologin
proxy /usr/sbin/nologin
www-data /usr/sbin/nologin
backup /usr/sbin/nologin
list /usr/sbin/nologin
irc /usr/sbin/nologin
-p 后面跟提示信息,即在输入前打印提示信息
-n 后跟一个数字,定义输入文本的长度,很实用。
echo "请输入数字:"
read num
case $num in
1)
echo "你选择了1"
;;
2)
echo "你选择了2"
;;
3)
echo "你选择了3"
;;
4)
echo "你选择了4"
;;
*)
echo "输入错误"
;;
esac
ubuntu@VM-24-12-ubuntu:~/20221212$ bash case.sh
请输入数字:
2
你选择了2
#!/bin/bash
echo "请输入数字:" num
read -p "你输入的num是" num
case $num in
1)
echo "你选择了1"
;;
2)
echo "你选择了2"
;;
3)
echo "你选择了3"
;;
4)
echo "你选择了4"
;;
*)
echo "输入错误"
;;
esac
ubuntu@VM-24-12-ubuntu:~/20221212$ bash case.sh
请输入数字: num
你输入的num是2
你选择了2
#!/bin/bash
read -n1 -p "请你输入[Y/N]" answer
case $answer in
Y | y)
echo "继续"
;;
N | n)
echo "bye"
;;
*)
echo "error choice"
;;
esac
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ bash read.sh
请你输入[Y/N]Y继续
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ bash read.sh
请你输入[Y/N]Merror choice
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ bash read.sh
请你输入[Y/N]
error choice
有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。
案例:显示前3行内容
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ head -n3 read.sh
#!/bin/bash
read -n1 -p "请你输入[Y/N]" answer
case $answer in
有一个常用的参数 -f 常用于查阅正在改变的日志文件
tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
命令格式:
tail [参数] [文件]
tail notes.log # 默认显示最后 10 行
要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:
tail -f notes.log
-i:忽略大小写
-c:只输出匹配行的数量
-n:显示行号
-r:递归搜索
-l:只列出匹配的文件名
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -n 'mysql' passwd
48:mysql:x:127:134:MySQL Server,,,:/nonexistent:/bin/false
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -n -r 'mysql' ./
./passwd:48:mysql:x:127:134:MySQL Server,,,:/nonexistent:/bin/false
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -l -r 'mysql' ../
../20221215/passwd
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -n '^redis' passwd
49:redis:x:128:135::/var/lib/redis:/usr/sbin/nologin
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -n 'false$' passwd
27:tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
35:speech-dispatcher:x:114:29:Speech Dispatcher,,,:/run/speech-dispatcher:/bin/false
38:hplip:x:119:7:HPLIP system user,,,:/run/hplip:/bin/false
39:whoopsie:x:120:125::/nonexistent:/bin/false
43:gnome-initial-setup:x:124:65534::/run/gnome-initial-setup/:/bin/false
44:gdm:x:125:130:Gnome Display Manager:/var/lib/gdm3:/bin/false
48:mysql:x:127:134:MySQL Server,,,:/nonexistent:/bin/false
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -n 'oo' passwd
2:t:x:0:0:root:/root:/bin/bash
10:lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
12:news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
13:uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
37:kernoops:x:116:65534:Kernel Oops Tracking Daemon,,,:/:/usr/sbin/nologin
39:whoopsie:x:120:125::/nonexistent:/bin/false
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ grep -i -c 'oo' passwd
6
-n:只打印模式匹配的行
-f:加载存放动作的文件
-r:支持拓展正则
-i:直接修改文件
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed -n '4 p' passwd
bin:x:2:2:bin:/bin:/usr/sbin/nologin
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed -n '5,8 p' passwd
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed -n '/root/ p' passwd
t:x:0:0:root:/root:/bin/bash
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed -n '/^m/ p' passwd
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
mysql:x:127:134:MySQL Server,,,:/nonexistent:/bin/false
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed -n '/^man/,/^list/ p' passwd
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
666666666这三新增的内容
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed '/^man/ a 20221215新增的内容' passwd
t:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
20221215新增的内容
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed '/jm/ d' test1.txt
name area age
kobe beijing 18
james changsha 20
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed -r '/^jm|^$/ d' test1.txt
name area age
kobe beijing 18
james changsha 20
zilv beijing 16
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed '2,3 d' test1.txt
name area age
james changsha 20
zilv beijing 16
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed '2,$ d' test1.txt
name area age
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed 's/jm/zhil/g' test1.txt
name area age
kobe beijing 18
zhil shanghai 19
james changsha 20
zilv beijing 16
g:全局修改
i:忽略大小写
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed 's/jm/zhil/gi' test1.txt
name area age
kobe beijing 18
zhil shanghai 19
james changsha 20
zilv beijing 16
zhil wuhan 21
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sed '2,4 s/jm/zhil/g' test1.txt
name area age
kobe beijing 18
zhil shanghai 19
james changsha 20
zilv beijing 16
jm wuhan 21
默认以字符的ASCII数码值从小到大排序
-n:以数值大小进行排序
-r:倒序
-t:指定分隔符,默认为空格
-k num:指定某个字段进行排序
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sort -n sort.txt
1
2
3
4
5
7
8
8
8
9
9
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sort -n sort.txt | uniq
1
2
3
4
5
7
8
9
用空格隔开每个项;
用反斜杠 \ 放在 shell 特定的字符前面;
对包含空格和其他特殊字符的字符串要用引号括起来
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ expr 2 + 3
5
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ expr 2 - 3
-1
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ expr 2 \* 3
6
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ expr 8 / 2
4
wc -l 打印行数
wc -w 打印单词数
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ wc -l test1.txt
4 test1.txt
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ wc -w test1.txt
12 test1.txt
ubuntu@VM-24-12-ubuntu:~/20221212$ df
Filesystem 1K-blocks Used Available Use% Mounted on
udev 966068 0 966068 0% /dev
tmpfs 203016 740 202276 1% /run
/dev/vda2 41174636 5004576 34397372 13% /
tmpfs 1015060 24 1015036 1% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 1015060 0 1015060 0% /sys/fs/cgroup
tmpfs 203012 0 203012 0% /run/user/1000
-h选项,通过它可以产生可读的格式df命令的输出
ubuntu@VM-24-12-ubuntu:~/20221212$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 944M 0 944M 0% /dev
tmpfs 199M 740K 198M 1% /run
/dev/vda2 40G 4.8G 33G 13% /
tmpfs 992M 24K 992M 1% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 992M 0 992M 0% /sys/fs/cgroup
tmpfs 199M 0 199M 0% /run/user/1000
-p 确保目录名称存在,不存在的就建一个
案例1:在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。
若 runoob2 目录原本不存在,则建立一个。
mkdir -p runoob2/test
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ pwd
/home/ubuntu/20221212/20221215
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
ubuntu@VM-24-12-ubuntu:~/20221212$ tree
.
├── 20221214
│ └── data.txt
├── a.txt
├── break.sh
├── case.sh
├── for.sh
├── func1.sh
├── func2.sh
├── func.sh
├── if.sh
├── myfile
├── test1.sh
├── test2.sh
├── time.txt
├── users
└── while.sh
1 directory, 15 files
-a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
-l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ ls -a
. .. passwd read.sh sort.txt test1.txt
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ ls -al
total 24
drwxrwxr-x 2 ubuntu ubuntu 4096 Dec 15 09:43 .
drwxrwxr-x 4 ubuntu ubuntu 4096 Dec 15 09:29 ..
-rw-rw-r-- 1 ubuntu ubuntu 2807 Dec 15 08:59 passwd
-rw-rw-r-- 1 ubuntu ubuntu 167 Dec 15 09:35 read.sh
-rw-rw-r-- 1 ubuntu ubuntu 24 Dec 15 09:43 sort.txt
-rw-rw-r-- 1 ubuntu ubuntu 66 Dec 15 09:07 test1.txt
执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ ping www.baidu.com
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=1 ttl=251 time=10.3 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=2 ttl=251 time=10.3 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=3 ttl=251 time=10.3 ms
useradd 可用来建立用户帐号。帐号建好之后,
再用 passwd 设定帐号的密码。
而可用 userdel 删除帐号。
使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sudo useradd user1
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ cat /etc/passwd | grep user1
user1:x:1002:1002::/home/user1:/bin/sh
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sudo passwd user1
New password:
Retype new password:
passwd: password updated successfully
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ sudo userdel user1
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ date
Thu 15 Dec 2022 09:55:12 AM CST
彻底杀死进程
kill -9 123456
ps -ef | grep 进程关键字
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ id root
uid=0(root) gid=0(root) groups=0(root)
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ free
total used free shared buff/cache available
Mem: 2030124 277180 96608 2332 1656336 1557592
Swap: 0 0 0
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ a=24
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ echo $a
24
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ unset a
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ echo $a
export -p 列出当前的环境变量值
export MYENV=7 定义环境变量并赋值
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ tar -cvf log.tar ./*
./1/
./1/log.tar
./passwd
./read.sh
./sort.txt
./test1.txt
ubuntu@VM-24-12-ubuntu:~/20221212/20221215/1$ tar -xvf log.tar
./sort.txt
./test1.txt
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ tar -czvf log.tar.gz ./*.txt
./sort.txt
./test1.txt
ubuntu@VM-24-12-ubuntu:~/20221212/20221215$ tar -xzvf log.tar.gz
./sort.txt
./test1.txt