Linux(4)|入门的开始:Linux基本指令(4)
目录
一、时间相关指令
1、日志的基本概念:
2、date显示
1、显示用法,使用者可以设定显示的格式,格式设定为一个‘+’后接数个标志
常用标记:
1、%H:小时(00-23)
2、%M:分钟(00-59)
3、%S:秒(00-59)
4、%X:相当于%H:%M:%S
5、%Y:完整年份(0000-9999)
6、%m:月份(01-12)
7、%d:日(01-31)
8、%F:相当于%Y-%m-%d
2、设置时间
1、date -S:设置当前时间,只有root权限才能设置,其他只能查看
2、date -S 20080523:设置成20080523,这样会把具体时间设置成空00:00:00
3、date -S 01:01:01:设置具体时间,不对日期做更改
4、设置全部:dete -S "01:01:01 2008-05-23"or"01:01:01 20080523"or"2008-05-23 01:01:01"or"20080523 01:01:01"
3、时间戳
1、时间->时间戳:date +%s
2、时间戳->时间:date -d@时间戳
3、Unix时间戳(英文为Unix epoch,Unix time,POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
3、cal指令
常用选项:
1、-3:显示系统前一个月、当前月和下一个月的月份
2、-j:显示在当年中的第几天(一年日期按天算,从1月1日算起,默认显示当前月在一年中的天数)
3、-y:显示当前年份的日历
二、其他指令
1、find指令
语法:find pathname -options
功能:用于在文件树中查找文案,并作出相应的处理(可能访问磁盘)
常用选项:
-name:按照文件名查找文件
2、find、which和whereis
1、find
2、which
3、whereis
3、grep指令:做文本过滤工具
语法:grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
-i:忽略查找大小写的不同
-n:顺便输出行号
-v:反向选择,即显示出没有搜索字符串的行内容
grep的作用
1、grep ‘’ 文件:匹配全部
2、命令中带有文件的都可以配合grep用管道操作
3、场景需求
4、配合管道进行系统或进程的查找
4、zip/unzip指令
语法:zip xxx.zip 目录或文件
功能:将目录或文件压缩成.zip格式
常用选项:
-r:递归处理,将指定目录下的所有文件和子目录一并处理
解压
-d:指定压缩路径
zip的检查是否安装和zip安装
1、zip --help:检查是否安装zip
2、安装(三种方法任选其一)
5、tar指令:打包/解包,不打开它也可以查看内容
用法:tar [选项] 文件与目录.....参数
常用选项:
-c:建立一个压缩文件的参数指令(create的意思)
-x:解开一个压缩文件的参数指令
-t:查看tarfile里面的文件
-z:是否同时具有gzip的属性?是否需要用gzip压缩?
-j:是否同时具有bzip2的属性?是否需要用bzip2压缩?
-v:压缩过程中显示文件!这很常用,但不建议用在背景执行过程
-f:使用档名,留意在f之后要立刻接档名!不要在加参数
-C:解压到指定目录
打包和压缩的方案有很多种
6、bc指令
bc命令可以很方便的进行浮点运算(计算器)
7、uname指令
语法:uname [选项]
功能:uname用来获取电脑和操作系统的相关信息,也可显示linux操作系统的版本、硬件的名称等基本信息
常用选项:
-a/-all :详细输出所有信息,依次为内核的名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称(x86_64=64位,x86=32位)
8、关机指令
语法:shutdown [选项]
常见选项:
-h:将系统的服务停掉后,立即关机
-r:在将系统的服务停掉之后就重新启动
-t sec:-t后面加秒数,即几秒后关机的意思
三、重要热键
1、Tab按键:具有命令补全和档案补齐的功能
2、ctrl+c按键:让当前程序停掉
3、ctrl+d按键:代表键盘输入结束(End Of File,EOF End O Finput)的意思;另外可以用来取代exit
4、ctrl+r:历史命令搜索,决定了,Linux系统一定记录了历史命令
四、Linux 常用指令学习小结
本篇博客主要介绍时间相关指令 、其他指令和热键(快捷键)
一、时间相关指令
1、日志的基本概念:
类比日记,日记包括时间、天气、内容等,而日志则包括时间、日志等级、日志具体信息、其他,把包含上述信息的一行写入到文件中,就形成了日志文件。程序运行到自己的每个关键时候,都要自己打日志。
2、date显示
date用法:date[OPIION]...[+FORMAT]
date指定格式显示时间:date +%Y:%m:%d(or date +%Y-%m-%d)
[xzx@instance-157t533k 9_21]$ date +%Y:%m:%d
2025:09:21
[xzx@instance-157t533k 9_21]$ date +%Y-%m-%d
2025-09-21
1、显示用法,使用者可以设定显示的格式,格式设定为一个‘+’后接数个标志
常用标记:
1、%H:小时(00-23)
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 14:54:30 CST 2025
[xzx@instance-157t533k 9_21]$ date +%H
14
2、%M:分钟(00-59)
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 14:55:05 CST 2025
[xzx@instance-157t533k 9_21]$ date +%M
55
3、%S:秒(00-59)
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 14:55:59 CST 2025
[xzx@instance-157t533k 9_21]$ date +%S
03
4、%X:相当于%H:%M:%S
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 14:56:29 CST 2025
[xzx@instance-157t533k 9_21]$ date +%H:%M:%S
14:56:42
[xzx@instance-157t533k 9_21]$ date +%X
02:56:50 PM
可以看到只是多了一个PM
5、%Y:完整年份(0000-9999)
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 15:00:01 CST 2025
[xzx@instance-157t533k 9_21]$ date +%Y
2025
6、%m:月份(01-12)
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 15:00:35 CST 2025
[xzx@instance-157t533k 9_21]$ date +%m
09
7、%d:日(01-31)
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 15:01:05 CST 2025
[xzx@instance-157t533k 9_21]$ date +%d
21
8、%F:相当于%Y-%m-%d
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 15:01:57 CST 2025
[xzx@instance-157t533k 9_21]$ date +%F
2025-09-21
[xzx@instance-157t533k 9_21]$ date +%Y-%m-%d
2025-09-21
可以看到是一模一样的
2、设置时间
1、date -S:设置当前时间,只有root权限才能设置,其他只能查看
2、date -S 20080523:设置成20080523,这样会把具体时间设置成空00:00:00
3、date -S 01:01:01:设置具体时间,不对日期做更改
4、设置全部:dete -S "01:01:01 2008-05-23"or"01:01:01 20080523"or"2008-05-23 01:01:01"or"20080523 01:01:01"
3、时间戳
1、时间->时间戳:date +%s
[xzx@instance-157t533k 9_21]$ date +%s
1758439266
2、时间戳->时间:date -d@时间戳
[xzx@instance-157t533k 9_21]$ date
Sun Sep 21 15:23:00 CST 2025
[xzx@instance-157t533k 9_21]$ date +%s
1758439386
[xzx@instance-157t533k 9_21]$ date -d@1758439386
Sun Sep 21 15:23:06 CST 2025
3、Unix时间戳(英文为Unix epoch,Unix time,POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
3、cal指令
cal命令可以用来显示公历(阳历)、日历。公历是现在国际通用的历法,又称格列历,统称阳历。 ”阳历“又名”太阳历“,系以地球绕行太阳一周为一年,为西方各国所通用,故又名”西历“。
用法:cal[参数][月份][年份]
功能:由于查看日历等时间信息,如只有一个参数则表示年份(1-9999),如有两个参数则表示月份和年份
常用选项:
1、-3:显示系统前一个月、当前月和下一个月的月份
[xzx@instance-157t533k 9_21]$ cal -3August 2025 September 2025 October 2025
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 1 2 3 4 5 6 1 2 3 43 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
31
2、-j:显示在当年中的第几天(一年日期按天算,从1月1日算起,默认显示当前月在一年中的天数)
默认显示当前月
[xzx@instance-157t533k 9_21]$ cal -jSeptember 2025
Sun Mon Tue Wed Thu Fri Sat244 245 246 247 248 249
250 251 252 253 254 255 256
257 258 259 260 261 262 263
264 265 266 267 268 269 270
271 272 273
一个参数表示年份(2025)
[xzx@instance-157t533k 9_21]$ cal -j 20252025 January February
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat1 2 3 4 325 6 7 8 9 10 11 33 34 35 36 37 38 3912 13 14 15 16 17 18 40 41 42 43 44 45 4619 20 21 22 23 24 25 47 48 49 50 51 52 5326 27 28 29 30 31 54 55 56 57 58 59March April
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat60 91 92 93 94 9561 62 63 64 65 66 67 96 97 98 99 100 101 10268 69 70 71 72 73 74 103 104 105 106 107 108 10975 76 77 78 79 80 81 110 111 112 113 114 115 11682 83 84 85 86 87 88 117 118 119 12089 90May June
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat121 122 123 152 153 154 155 156 157 158
124 125 126 127 128 129 130 159 160 161 162 163 164 165
131 132 133 134 135 136 137 166 167 168 169 170 171 172
138 139 140 141 142 143 144 173 174 175 176 177 178 179
145 146 147 148 149 150 151 180 181July August
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat182 183 184 185 186 213 214
187 188 189 190 191 192 193 215 216 217 218 219 220 221
194 195 196 197 198 199 200 222 223 224 225 226 227 228
201 202 203 204 205 206 207 229 230 231 232 233 234 235
208 209 210 211 212 236 237 238 239 240 241 242243September October
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat244 245 246 247 248 249 274 275 276 277
250 251 252 253 254 255 256 278 279 280 281 282 283 284
257 258 259 260 261 262 263 285 286 287 288 289 290 291
264 265 266 267 268 269 270 292 293 294 295 296 297 298
271 272 273 299 300 301 302 303 304November December
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat305 335 336 337 338 339 340
306 307 308 309 310 311 312 341 342 343 344 345 346 347
313 314 315 316 317 318 319 348 349 350 351 352 353 354
320 321 322 323 324 325 326 355 356 357 358 359 360 361
327 328 329 330 331 332 333 362 363 364 365
334
两个参数表示月份和年份(8 2025)
[xzx@instance-157t533k 9_21]$ cal -j 8 2025August 2025
Sun Mon Tue Wed Thu Fri Sat213 214
215 216 217 218 219 220 221
222 223 224 225 226 227 228
229 230 231 232 233 234 235
236 237 238 239 240 241 242
243
3、-y:显示当前年份的日历
[xzx@instance-157t533k 9_21]$ cal -y 2025 January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 1 15 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 8
12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15
19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22
26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 2930 31April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 1 2 3 1 2 3 4 5 6 76 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14
13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21
20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28
27 28 29 30 25 26 27 28 29 30 31 29 30July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 1 2 1 2 3 4 5 66 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13
13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20
20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27
27 28 29 30 31 24 25 26 27 28 29 30 28 29 3031October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 1 1 2 3 4 5 65 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13
12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20
19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27
26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 3130
一个参数表示年份
[xzx@instance-157t533k 9_21]$ cal -y 20242024 January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 6 1 2 3 1 27 8 9 10 11 12 13 4 5 6 7 8 9 10 3 4 5 6 7 8 9
14 15 16 17 18 19 20 11 12 13 14 15 16 17 10 11 12 13 14 15 16
21 22 23 24 25 26 27 18 19 20 21 22 23 24 17 18 19 20 21 22 23
28 29 30 31 25 26 27 28 29 24 25 26 27 28 29 3031April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 6 1 2 3 4 17 8 9 10 11 12 13 5 6 7 8 9 10 11 2 3 4 5 6 7 8
14 15 16 17 18 19 20 12 13 14 15 16 17 18 9 10 11 12 13 14 15
21 22 23 24 25 26 27 19 20 21 22 23 24 25 16 17 18 19 20 21 22
28 29 30 26 27 28 29 30 31 23 24 25 26 27 28 2930July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 6 1 2 3 1 2 3 4 5 6 77 8 9 10 11 12 13 4 5 6 7 8 9 10 8 9 10 11 12 13 14
14 15 16 17 18 19 20 11 12 13 14 15 16 17 15 16 17 18 19 20 21
21 22 23 24 25 26 27 18 19 20 21 22 23 24 22 23 24 25 26 27 28
28 29 30 31 25 26 27 28 29 30 31 29 30October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa1 2 3 4 5 1 2 1 2 3 4 5 6 76 7 8 9 10 11 12 3 4 5 6 7 8 9 8 9 10 11 12 13 14
13 14 15 16 17 18 19 10 11 12 13 14 15 16 15 16 17 18 19 20 21
20 21 22 23 24 25 26 17 18 19 20 21 22 23 22 23 24 25 26 27 28
27 28 29 30 31 24 25 26 27 28 29 30 29 30 31
二、其他指令
1、find指令
Linux下find命令在目录结构中搜索文件,并执行指定的操作
Linux下find命令提供了相当多的查找条件,功能相当强大。由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下
即使系统中含有网络文件系统(NFS),find命令在该文件系统同样有效,只要你具有相应的权限
语法:find pathname -options
功能:用于在文件树中查找文案,并作出相应的处理(可能访问磁盘)
常用选项:
-name:按照文件名查找文件
[xzx@instance-157t533k home]$ find -name code.c
./xzx/9_19/test_gdb/code.c
./xzx/9_12/code.c
./xzx/9_7/lesson6/code.c
[xzx@instance-157t533k home]$ pwd
/home
普通用户在系统目录下查找会受到Premission denied,但在/home/xxx/下不会
[xzx@instance-157t533k /]$ find -name code.c
find: ‘./run/chrony’: Permission denied
find: ‘./run/mdadm’: Permission denied
find: ‘./run/rpcbind’: Permission denied
find: ‘./run/cryptsetup’: Permission denied
find: ‘./run/sudo’: Permission denied
find: ‘./run/systemd/ask-password-block’: Permission denied
find: ‘./run/systemd/inaccessible’: Permission denied
find: ‘./etc/audisp’: Permission denied
find: ‘./etc/audit’: Permission denied
find: ‘./etc/dhcp’: Permission denied
find: ‘./etc/selinux/targeted/active’: Permission denied
find: ‘./etc/selinux/final’: Permission denied
find: ‘./etc/grub.d’: Permission denied
find: ‘./etc/polkit-1/localauthority’: Permission denied
find: ‘./etc/polkit-1/rules.d’: Permission denied
find: ‘./etc/firewalld’: Permission denied
find: ‘./etc/pki/CA/private’: Permission denied
find: ‘./etc/pki/rsyslog’: Permission denied
find: ‘./etc/sudoers.d’: Permission denied
find: ‘./boot/grub2’: Permission denied
我们在/根目录下,find会受到限制,但在我翻看过程中发现还是找到了对应文件名的文件,不过隐藏在大堆信息中不方便查看
而在home家目录下就不会
[xzx@instance-157t533k home]$ find -name code.c
./xzx/9_19/test_gdb/code.c
./xzx/9_12/code.c
./xzx/9_7/lesson6/code.c
[xzx@instance-157t533k home]$ pwd
/home
2、find、which和whereis
1、find
可以在指定的路径下进行文件的搜索(真的在磁盘文件中查找)
2、which
可以在指定路径下/usr/bin/,搜索指令文件
[xzx@instance-157t533k ~]$ which cat
/usr/bin/cat
[xzx@instance-157t533k ~]$ which cd
/usr/bin/cd
3、whereis
在系统特定的路径下查找,既可以找到可执行程序,又可以找到手册、安装包、压缩包等之类
3、grep指令:做文本过滤工具
语法:grep [选项] 搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
-i:忽略查找大小写的不同
[xzx@instance-157t533k 9_26]$ cat -n data.txt1 hello world2 hello linux3 Hello Linux4 Hello World5 lovely cat6 lovely dog
[xzx@instance-157t533k 9_26]$ grep -i hello data.txt
hello world
hello linux
Hello Linux
Hello World
-n:顺便输出行号
[xzx@instance-157t533k 9_26]$ cat -n data.txt1 hello world2 hello linux3 Hello Linux4 Hello World5 lovely cat6 lovely dog
[xzx@instance-157t533k 9_26]$ grep -n -i hello data.txt
1:hello world
2:hello linux
3:Hello Linux
4:Hello World
-v:反向选择,即显示出没有搜索字符串的行内容
[xzx@instance-157t533k 9_26]$ cat -n data.txt1 hello world2 hello linux3 Hello Linux4 Hello World5 lovely cat6 lovely dog
[xzx@instance-157t533k 9_26]$ grep -v hello data.txt
Hello Linux
Hello World
lovely cat
lovely dog
grep的作用
1、grep ‘’ 文件:匹配全部
[xzx@instance-157t533k 9_26]$ grep '' data.txt
hello world
hello linux
Hello Linux
Hello World
lovely cat
lovely dog
2、命令中带有文件的都可以配合grep用管道操作
[xzx@instance-157t533k 9_26]$ cat data.txt
hello world
hello linux
Hello Linux
Hello World
lovely cat
lovely dog
[xzx@instance-157t533k 9_26]$ cat data.txt | grep lovely
lovely cat
lovely dog
3、场景需求
1、在开源项目中查找main函数的位置
2、grep后可以跟多个文件
3、grep -Rn " xxx":在目录中递归查找对应的字符串,并标记行号
4、配合管道进行系统或进程的查找
4、zip/unzip指令
语法:zip xxx.zip 目录或文件
功能:将目录或文件压缩成.zip格式
常用选项:
-r:递归处理,将指定目录下的所有文件和子目录一并处理
[xzx@instance-157t533k 9_26]$ tree test
test
└── dir1├── dir2│ ├── dir3│ │ └── test3│ └── test2└── test1
[xzx@instance-157t533k 9_26]$ zip test.zip test/. -radding: test/./ (stored 0%)adding: test/./dir1/ (stored 0%)adding: test/./dir1/test1 (stored 0%)adding: test/./dir1/dir2/ (stored 0%)adding: test/./dir1/dir2/test2 (stored 0%)adding: test/./dir1/dir2/dir3/ (stored 0%)adding: test/./dir1/dir2/dir3/test3 (stored 0%)
[xzx@instance-157t533k 9_26]$ ll
total 12
-rw-rw-r-- 1 xzx xzx 70 Sep 26 15:46 data.txt
drwxrwxr-x 3 xzx xzx 4096 Sep 26 16:46 test
-rw-rw-r-- 1 xzx xzx 1166 Sep 26 16:48 test.zip
将test目录压缩当前目录下
解压
-d:指定压缩路径
将刚压缩的test.zip解压到test_copy目录下
[xzx@instance-157t533k 9_26]$ unzip test.zip -d test_copy
Archive: test.zipcreating: test_copy/test/creating: test_copy/test/dir1/extracting: test_copy/test/dir1/test1 creating: test_copy/test/dir1/dir2/extracting: test_copy/test/dir1/dir2/test2 creating: test_copy/test/dir1/dir2/dir3/extracting: test_copy/test/dir1/dir2/dir3/test3
[xzx@instance-157t533k 9_26]$ tree test_copy
test_copy
└── test└── dir1├── dir2│ ├── dir3│ │ └── test3│ └── test2└── test14 directories, 3 files
[xzx@instance-157t533k 9_26]$ tree test
test
└── dir1├── dir2│ ├── dir3│ │ └── test3│ └── test2└── test13 directories, 3 files
zip的检查是否安装和zip安装
1、zip --help:检查是否安装zip
[xzx@instance-157t533k 9_26]$ zip --help
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
Zip 3.0 (July 5th 2008). Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]The default action is to add or replace zipfile entries from list, whichcan include the special name - to compress standard input.If zipfile and list are omitted, zip compresses stdin to stdout.-f freshen: only changed files -u update: only changed or new files-d delete entries in zipfile -m move into zipfile (delete OS files)-r recurse into directories -j junk (don't record) directory names-0 store only -l convert LF to CR LF (-ll CR LF to LF)-1 compress faster -9 compress better-q quiet operation -v verbose operation/print version info-c add one-line comments -z add zipfile comment-@ read names from stdin -o make zipfile as old as latest entry-x exclude the following names -i include only the following names-F fix zipfile (-FF try harder) -D do not add directory entries-A adjust self-extracting exe -J junk zipfile prefix (unzipsfx)-T test zipfile integrity -X eXclude eXtra file attributes-y store symbolic links as the link instead of the referenced file-e encrypt -n don't compress these suffixes-h2 show more help
2、安装(三种方法任选其一)
1、登录root账号,输入yum install -y zip unzip
2、su/su - 由普通用户切换为root用户,输入yum install -y zip unzip,ctrl+d退出root
3、普通用户使用sudo yum install -y zip unzip
[xzx@instance-157t533k 9_26]$ sudo yum install -y zip unzip
[sudo] password for xzx:
Loaded plugins: langpacks, versionlock
base | 3.6 kB 00:00:00
epel | 4.3 kB 00:00:00
extras | 2.9 kB 00:00:00
mysql-connectors-community | 3.0 kB 00:00:00
mysql-tools-community | 3.0 kB 00:00:01
mysql57-community | 2.6 kB 00:00:00
updates | 2.9 kB 00:00:00
Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
Package zip-3.0-11.el7.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package unzip.x86_64 0:6.0-19.el7 will be updated
---> Package unzip.x86_64 0:6.0-24.el7_9 will be an update
--> Finished Dependency ResolutionDependencies Resolved========================================================================================================Package Arch Version Repository Size
========================================================================================================
Updating:unzip x86_64 6.0-24.el7_9 updates 172 kTransaction Summary
========================================================================================================
Upgrade 1 PackageTotal download size: 172 k
Downloading packages:
No Presto metadata available for updates
unzip-6.0-24.el7_9.x86_64.rpm | 172 kB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transactionUpdating : unzip-6.0-24.el7_9.x86_64 1/2 Cleanup : unzip-6.0-19.el7.x86_64 2/2 Verifying : unzip-6.0-24.el7_9.x86_64 1/2 Verifying : unzip-6.0-19.el7.x86_64 2/2 Updated:unzip.x86_64 0:6.0-24.el7_9 Complete!
出现complete即代表安装完成
5、tar指令:打包/解包,不打开它也可以查看内容
用法:tar [选项] 文件与目录.....参数
常用选项:
-c:建立一个压缩文件的参数指令(create的意思)
-x:解开一个压缩文件的参数指令
-t:查看tarfile里面的文件
-z:是否同时具有gzip的属性?是否需要用gzip压缩?
-j:是否同时具有bzip2的属性?是否需要用bzip2压缩?
-v:压缩过程中显示文件!这很常用,但不建议用在背景执行过程
-f:使用档名,留意在f之后要立刻接档名!不要在加参数
-C:解压到指定目录
打包和压缩的方案有很多种
tar czf xxx :打包压缩
tar tzf xxx.tgz :预览
tar xzf xxx.tgz :解压、解包
tgz后缀 = tar打包后缀 + gz压缩后缀
6、bc指令
bc命令可以很方便的进行浮点运算(计算器)
需要配合管道进行
[xzx@instance-157t533k 9_26]$ echo 3.14*2 | bc
6.28
7、uname指令
语法:uname [选项]
功能:uname用来获取电脑和操作系统的相关信息,也可显示linux操作系统的版本、硬件的名称等基本信息
常用选项:
-a/-all :详细输出所有信息,依次为内核的名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称(x86_64=64位,x86=32位)
[xzx@instance-157t533k 9_26]$ uname -a
Linux instance-157t533k 3.10.0-1160.83.1.el7.x86_64 #1 SMP Wed Jan 25 16:41:43 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
8、关机指令
语法:shutdown [选项]
常见选项:
-h:将系统的服务停掉后,立即关机
-r:在将系统的服务停掉之后就重新启动
-t sec:-t后面加秒数,即几秒后关机的意思
三、重要热键
1、Tab按键:具有命令补全和档案补齐的功能
2、ctrl+c按键:让当前程序停掉
3、ctrl+d按键:代表键盘输入结束(End Of File,EOF End O Finput)的意思;另外可以用来取代exit
4、ctrl+r:历史命令搜索,决定了,Linux系统一定记录了历史命令
(history:查看所有历史命令列表,也可以配合管道(默认记录最新的指令))
1606 xzx 2025/09/26 17:01:27 clear1607 xzx 2025/09/26 17:01:32 zip --heip1608 xzx 2025/09/26 17:01:54 zip --help1609 xzx 2025/09/26 17:14:05 sudo yum install -y zip unzip1610 xzx 2025/09/26 17:38:09 echo 3.14*2 | bc1611 xzx 2025/09/26 17:52:31 uname -a1612 xzx 2025/09/26 19:58:55 ll1613 xzx 2025/09/26 19:58:59 cd ..1614 xzx 2025/09/26 19:59:09 cd 9_261615 xzx 2025/09/26 20:10:30 ll1616 xzx 2025/09/26 20:10:45 history
四、Linux 常用指令学习小结
到这里,我们已经围绕 Linux 系统中与时间相关的date
、cal
指令,以及文件搜索、文本过滤、压缩打包等高频指令(find
、grep
、zip/unzip
、tar
),还有实用工具(bc
、uname
)和核心热键做了详细梳理。这些指令看似零散,却都是 Linux 操作中 “打基础” 的关键 —— 从用date
精准控制时间戳,到用find
定位隐藏文件,再到用grep
快速筛选日志内容,每一个指令的熟练使用,都能帮我们减少重复操作、提升效率。
当然,Linux 的指令体系远不止于此,比如tar
的压缩参数还能结合bzip2
进一步优化压缩率,find
也能搭配exec
实现 “查找即操作” 的联动效果。但学习的核心从来不是 “背完所有指令”,而是在理解指令逻辑的基础上,根据实际需求灵活组合。比如遇到日志分析场景,自然会想到cat 日志文件 | grep -n 关键词
;需要备份目录时,tar czf 备份包.tar.gz 目标目录
也会成为下意识的选择。
如果你在实践中遇到 “权限不足”“指令找不到” 这类问题,不妨回头看看文中的细节 —— 普通用户用find
搜索根目录会受限,zip
未安装时需通过yum
配置,这些小坑其实都是熟悉 Linux 权限与包管理的必经之路。
最后,建议大家把这些指令放进实际场景中多练:比如用cal -j
看看今天是今年的第几天,用grep -r
在项目文件夹里找某个函数的定义,用tar
打包备份自己的代码文件。操作次数多了,自然就能从 “对照文档敲指令” 变成 “随手写出符合需求的命令”。
后续如果遇到新的实用指令或进阶技巧,也会继续和大家分享。希望这篇内容能帮你夯实 Linux 基础,在后续的学习或工作中少走弯路~