您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
4-1 Linux基础考察点
发布时间:2020-10-04 22:38:48编辑:雪饮阅读()
W
Linux w命令用于显示目前登入系统的用户信息。
执行这项指令可得知目前登入系统的用户有哪些人,以及他们正在执行的程序。
单独执行 w 指令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。
如:
[root@localhost ~]# w
04:32:47 up 1 min, 2 users, load average: 0.31, 0.13, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 04:32 31.00s 0.01s 0.01s -bash
root pts/0 192.168.108.1 04:32 3.00s 0.00s 0.00s w
pkill
Linux pkill 用于杀死一个进程,与 kill 不同的是它会杀死指定名字的所有进程,类似于 killall 命令。
kill 命令杀死指定进程 PID,需要配合 ps 使用,而 pkill 直接对进程对名字进行操作,更加方便。
如:
[root@localhost ~]# ps -aux | grep 'httpd'
root 2287 0.0 0.4 224076 4996 ? Ss 09:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2288 0.0 0.2 224076 2924 ? S 09:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2289 0.0 0.2 224076 2924 ? S 09:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2290 0.0 0.2 224076 2924 ? S 09:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2291 0.0 0.2 224076 2924 ? S 09:47 0:00 /usr/sbin/httpd -DFOREGROUND
apache 2292 0.0 0.2 224076 2924 ? S 09:47 0:00 /usr/sbin/httpd -DFOREGROUND
root 2297 0.0 0.0 112812 972 pts/0 S+ 09:48 0:00 grep --color=auto httpd
[root@localhost ~]# pkill httpd
[root@localhost ~]# ps -aux | grep 'httpd'
root 2306 0.0 0.0 112812 972 pts/0 S+ 09:49 0:00 grep --color=auto httpd
pstree
以树状图显示运行的程序。pstree指令用ASCII字符显示树状结构,清楚地表达程序间的相互关系。如果不指定程序识别码或用户名称,则会把系统启动时的第一个程序视为基层,并显示之后的所有程序。若指定用户名称,便会以隶属该用户的第一个程序当作基层,然后显示该用户的所有程序。
Pstree命令有可能你需要单独安装,其安装的yum包名不同系统有所不同。
在 Fedora/Red Hat/CentOS中是:yum -y install psmisc
如:
[root@localhost ~]# yum install psmisc
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package psmisc.x86_64 0:22.20-16.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================
Installing:
psmisc x86_64 22.20-16.el7 base 141 k
Transaction Summary
===================================================================================================================================================
Install 1 Package
Total download size: 141 k
Installed size: 475 k
Is this ok [y/d/N]: y
Downloading packages:
psmisc-22.20-16.el7.x86_64.rpm | 141 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : psmisc-22.20-16.el7.x86_64 1/1
Verifying : psmisc-22.20-16.el7.x86_64 1/1
Installed:
psmisc.x86_64 0:22.20-16.el7
Complete!
那么使用如:
[root@localhost ~]# pstree
systemd─┬─NetworkManager─┬─dhclient
│ └─2*[{NetworkManager}]
├─VGAuthService
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon
├─dockerd-current─┬─docker-containe───13*[{docker-containe}]
│ └─16*[{dockerd-current}]
├─firewalld───{firewalld}
├─irqbalance
├─login───bash
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─polkitd───6*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd─┬─sshd───bash───pstree
│ └─sshd───sftp-server
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
Host
host 是一个常用的DNS查询工具,经常用来查询域名、检查域名解析是否正确。
Host命令也和上面的pstree一样有可能你需要安装,则如:
[root@localhost ~]# yum install bind-utils
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package bind-utils.x86_64 32:9.11.4-16.P2.el7_8.6 will be installed
--> Processing Dependency: bind-libs(x86-64) = 32:9.11.4-16.P2.el7_8.6 for package: 32:bind-utils-9.11.4-16.P2.el7_8.6.x86_64
--> Processing Dependency: liblwres.so.160()(64bit) for package: 32:bind-utils-9.11.4-16.P2.el7_8.6.x86_64
--> Processing Dependency: libbind9.so.160()(64bit) for package: 32:bind-utils-9.11.4-16.P2.el7_8.6.x86_64
--> Running transaction check
---> Package bind-libs.x86_64 32:9.11.4-16.P2.el7_8.6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================
Installing:
bind-utils x86_64 32:9.11.4-16.P2.el7_8.6 updates 259 k
Installing for dependencies:
bind-libs x86_64 32:9.11.4-16.P2.el7_8.6 updates 156 k
Transaction Summary
===================================================================================================================================================
Install 1 Package (+1 Dependent package)
Total download size: 415 k
Installed size: 769 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): bind-utils-9.11.4-16.P2.el7_8.6.x86_64.rpm | 259 kB 00:00:00
(2/2): bind-libs-9.11.4-16.P2.el7_8.6.x86_64.rpm | 156 kB 00:00:01
---------------------------------------------------------------------------------------------------------------------------------------------------
Total 361 kB/s | 415 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : 32:bind-libs-9.11.4-16.P2.el7_8.6.x86_64 1/2
Installing : 32:bind-utils-9.11.4-16.P2.el7_8.6.x86_64 2/2
Verifying : 32:bind-libs-9.11.4-16.P2.el7_8.6.x86_64 1/2
Verifying : 32:bind-utils-9.11.4-16.P2.el7_8.6.x86_64 2/2
Installed:
bind-utils.x86_64 32:9.11.4-16.P2.el7_8.6
Dependency Installed:
bind-libs.x86_64 32:9.11.4-16.P2.el7_8.6
Complete!
那么使用如:
[root@localhost ~]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 180.101.49.12
www.a.shifen.com has address 180.101.49.11
fsck
Linux fsck(英文全拼:file system check)命令用于检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统。
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-V : 详细显示模式
其它参数暂时就不一一列举了。那么使用如:
[root@localhost ~]# fsck -A -C -V
fsck from util-linux 2.23.2
Checking all file systems.
Locate
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
一般情况我们只需要输入 locate your_file_name 即可查找指定文件。
Locate命令有可能你的系统也没有,那么安装如:
[root@localhost ~]# yum install mlocate
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package mlocate.x86_64 0:0.26-8.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
===================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================
Installing:
mlocate x86_64 0.26-8.el7 base 113 k
Transaction Summary
===================================================================================================================================================
Install 1 Package
Total download size: 113 k
Installed size: 379 k
Is this ok [y/d/N]: y
Downloading packages:
mlocate-0.26-8.el7.x86_64.rpm | 113 kB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : mlocate-0.26-8.el7.x86_64 1/1
Verifying : mlocate-0.26-8.el7.x86_64 1/1
Installed:
mlocate.x86_64 0:0.26-8.el7
Complete!
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:updatedb
所以首次安装后就要用该命令则需用先执行下updatedb命令。然后才能使用,那么查找 passwd 文件如:
[root@localhost ~]# updatedb
[root@localhost ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd
/usr/bin/grub2-mkpasswd-pbkdf2
/usr/bin/htpasswd
/usr/bin/passwd
/usr/lib/firewalld/services/kpasswd.xml
/usr/lib/security/pam_unix_passwd.so
/usr/lib64/security/pam_unix_passwd.so
/usr/sbin/chgpasswd
/usr/sbin/chpasswd
/usr/sbin/lpasswd
/usr/sbin/saslpasswd2
/usr/share/awk/passwd.awk
/usr/share/doc/passwd-0.79
/usr/share/doc/passwd-0.79/AUTHORS
/usr/share/doc/passwd-0.79/COPYING
/usr/share/doc/passwd-0.79/ChangeLog
/usr/share/doc/passwd-0.79/NEWS
/usr/share/locale/ar/LC_MESSAGES/passwd.mo
/usr/share/locale/as/LC_MESSAGES/passwd.mo
/usr/share/locale/ast/LC_MESSAGES/passwd.mo
/usr/share/locale/bg/LC_MESSAGES/passwd.mo
/usr/share/locale/bn/LC_MESSAGES/passwd.mo
/usr/share/locale/bn_IN/LC_MESSAGES/passwd.mo
/usr/share/locale/bs/LC_MESSAGES/passwd.mo
/usr/share/locale/ca/LC_MESSAGES/passwd.mo
/usr/share/locale/cs/LC_MESSAGES/passwd.mo
/usr/share/locale/cy/LC_MESSAGES/passwd.mo
/usr/share/locale/da/LC_MESSAGES/passwd.mo
/usr/share/locale/de/LC_MESSAGES/passwd.mo
/usr/share/locale/el/LC_MESSAGES/passwd.mo
/usr/share/locale/en_GB/LC_MESSAGES/passwd.mo
/usr/share/locale/es/LC_MESSAGES/passwd.mo
/usr/share/locale/et/LC_MESSAGES/passwd.mo
/usr/share/locale/eu/LC_MESSAGES/passwd.mo
/usr/share/locale/fa/LC_MESSAGES/passwd.mo
/usr/share/locale/fi/LC_MESSAGES/passwd.mo
/usr/share/locale/fr/LC_MESSAGES/passwd.mo
/usr/share/locale/gl/LC_MESSAGES/passwd.mo
/usr/share/locale/gu/LC_MESSAGES/passwd.mo
/usr/share/locale/he/LC_MESSAGES/passwd.mo
/usr/share/locale/hi/LC_MESSAGES/passwd.mo
/usr/share/locale/hr/LC_MESSAGES/passwd.mo
/usr/share/locale/hu/LC_MESSAGES/passwd.mo
/usr/share/locale/hy/LC_MESSAGES/passwd.mo
/usr/share/locale/id/LC_MESSAGES/passwd.mo
/usr/share/locale/is/LC_MESSAGES/passwd.mo
/usr/share/locale/it/LC_MESSAGES/passwd.mo
/usr/share/locale/ja/LC_MESSAGES/passwd.mo
/usr/share/locale/ka/LC_MESSAGES/passwd.mo
/usr/share/locale/kn/LC_MESSAGES/passwd.mo
/usr/share/locale/ko/LC_MESSAGES/passwd.mo
/usr/share/locale/ku/LC_MESSAGES/passwd.mo
/usr/share/locale/lo/LC_MESSAGES/passwd.mo
/usr/share/locale/mk/LC_MESSAGES/passwd.mo
/usr/share/locale/ml/LC_MESSAGES/passwd.mo
/usr/share/locale/mr/LC_MESSAGES/passwd.mo
/usr/share/locale/ms/LC_MESSAGES/passwd.mo
/usr/share/locale/my/LC_MESSAGES/passwd.mo
/usr/share/locale/nb/LC_MESSAGES/passwd.mo
/usr/share/locale/nds/LC_MESSAGES/passwd.mo
/usr/share/locale/nl/LC_MESSAGES/passwd.mo
/usr/share/locale/nn/LC_MESSAGES/passwd.mo
/usr/share/locale/or/LC_MESSAGES/passwd.mo
/usr/share/locale/pa/LC_MESSAGES/passwd.mo
/usr/share/locale/pl/LC_MESSAGES/passwd.mo
/usr/share/locale/pt/LC_MESSAGES/passwd.mo
/usr/share/locale/pt_BR/LC_MESSAGES/passwd.mo
/usr/share/locale/ro/LC_MESSAGES/passwd.mo
/usr/share/locale/ru/LC_MESSAGES/passwd.mo
/usr/share/locale/si/LC_MESSAGES/passwd.mo
/usr/share/locale/sk/LC_MESSAGES/passwd.mo
/usr/share/locale/sl/LC_MESSAGES/passwd.mo
/usr/share/locale/sq/LC_MESSAGES/passwd.mo
/usr/share/locale/sr/LC_MESSAGES/passwd.mo
/usr/share/locale/sr@latin/LC_MESSAGES/passwd.mo
/usr/share/locale/sv/LC_MESSAGES/passwd.mo
/usr/share/locale/ta/LC_MESSAGES/passwd.mo
/usr/share/locale/te/LC_MESSAGES/passwd.mo
/usr/share/locale/tr/LC_MESSAGES/passwd.mo
/usr/share/locale/uk/LC_MESSAGES/passwd.mo
/usr/share/locale/ur/LC_MESSAGES/passwd.mo
/usr/share/locale/vi/LC_MESSAGES/passwd.mo
/usr/share/locale/wa/LC_MESSAGES/passwd.mo
/usr/share/locale/zh_CN/LC_MESSAGES/passwd.mo
/usr/share/locale/zh_TW/LC_MESSAGES/passwd.mo
/usr/share/man/cs/man1/gpasswd.1.gz
/usr/share/man/de/man1/gpasswd.1.gz
/usr/share/man/de/man8/chgpasswd.8.gz
/usr/share/man/de/man8/chpasswd.8.gz
/usr/share/man/fr/man1/gpasswd.1.gz
/usr/share/man/fr/man8/chgpasswd.8.gz
/usr/share/man/fr/man8/chpasswd.8.gz
/usr/share/man/hu/man1/gpasswd.1.gz
/usr/share/man/it/man1/gpasswd.1.gz
/usr/share/man/it/man8/chgpasswd.8.gz
/usr/share/man/it/man8/chpasswd.8.gz
/usr/share/man/ja/man1/gpasswd.1.gz
/usr/share/man/ja/man1/passwd.1.gz
/usr/share/man/ja/man8/chpasswd.8.gz
/usr/share/man/man1/gpasswd.1.gz
/usr/share/man/man1/grub2-mkpasswd-pbkdf2.1.gz
/usr/share/man/man1/htpasswd.1.gz
/usr/share/man/man1/lpasswd.1.gz
/usr/share/man/man1/passwd.1.gz
/usr/share/man/man1/sslpasswd.1ssl.gz
/usr/share/man/man8/chgpasswd.8.gz
/usr/share/man/man8/chpasswd.8.gz
/usr/share/man/pt_BR/man1/gpasswd.1.gz
/usr/share/man/ru/man1/gpasswd.1.gz
/usr/share/man/ru/man8/chgpasswd.8.gz
/usr/share/man/ru/man8/chpasswd.8.gz
/usr/share/man/zh_CN/man1/gpasswd.1.gz
/usr/share/man/zh_CN/man8/chgpasswd.8.gz
/usr/share/man/zh_CN/man8/chpasswd.8.gz
/usr/share/man/zh_TW/man8/chpasswd.8.gz
/var/lib/docker/overlay2/47f077089b67bc0f3c17239c17614f8278e1d700557846c4bcf74922a479ca28/diff/etc/passwd
/var/lib/docker/overlay2/47f077089b67bc0f3c17239c17614f8278e1d700557846c4bcf74922a479ca28/diff/etc/passwd-
/var/lib/docker/overlay2/8e8ae712484773fc1e044b7afe67c028b7adb97dba51a8b5343c11b554be62d2/diff/etc/passwd
/var/lib/docker/overlay2/8e8ae712484773fc1e044b7afe67c028b7adb97dba51a8b5343c11b554be62d2/diff/usr/bin/mkpasswd
/var/lib/docker/overlay2/8e8ae712484773fc1e044b7afe67c028b7adb97dba51a8b5343c11b554be62d2/diff/usr/bin/passwd
/var/lib/docker/overlay2/8e8ae712484773fc1e044b7afe67c028b7adb97dba51a8b5343c11b554be62d2/diff/usr/sbin/chpasswd
/var/lib/docker/overlay2/92ec7433c15adb7c74add9c17113ac531e597ee8b527395ccca7791f89a4c20f/diff/etc/passwd
/var/lib/docker/overlay2/92ec7433c15adb7c74add9c17113ac531e597ee8b527395ccca7791f89a4c20f/diff/etc/passwd-
/var/lib/docker/overlay2/9feab1cdf9ceff61812eae2c4ce08da601ca2af81433fc0414e3d10006b3afc6/diff/etc/passwd
/var/lib/docker/overlay2/9feab1cdf9ceff61812eae2c4ce08da601ca2af81433fc0414e3d10006b3afc6/diff/usr/bin/mkpasswd
/var/lib/docker/overlay2/9feab1cdf9ceff61812eae2c4ce08da601ca2af81433fc0414e3d10006b3afc6/diff/usr/bin/passwd
/var/lib/docker/overlay2/9feab1cdf9ceff61812eae2c4ce08da601ca2af81433fc0414e3d10006b3afc6/diff/usr/sbin/chpasswd
/var/lib/docker/overlay2/abd6c751b2badd92f7c60fc615ad1e170575760c63b16795c0f56772f55e58c4/diff/etc/passwd
/var/lib/docker/overlay2/abd6c751b2badd92f7c60fc615ad1e170575760c63b16795c0f56772f55e58c4/diff/usr/bin/mkpasswd
/var/lib/docker/overlay2/abd6c751b2badd92f7c60fc615ad1e170575760c63b16795c0f56772f55e58c4/diff/usr/bin/passwd
/var/lib/docker/overlay2/abd6c751b2badd92f7c60fc615ad1e170575760c63b16795c0f56772f55e58c4/diff/usr/sbin/chpasswd
/var/lib/docker/overlay2/c85fc5ddc2b05c93c6b2682475a635ef62a7d615bafe9b740e81b969d6e6167d/diff/bin/chpasswd
/var/lib/docker/overlay2/c85fc5ddc2b05c93c6b2682475a635ef62a7d615bafe9b740e81b969d6e6167d/diff/bin/mkpasswd
/var/lib/docker/overlay2/c85fc5ddc2b05c93c6b2682475a635ef62a7d615bafe9b740e81b969d6e6167d/diff/bin/passwd
/var/lib/docker/overlay2/c85fc5ddc2b05c93c6b2682475a635ef62a7d615bafe9b740e81b969d6e6167d/diff/etc/passwd
/var/lib/docker/overlay2/f7d49a2f6e35bd44a4171c18981eba7a254f0d60c2bed7974feb35fb8a70895f/diff/etc/passwd
/var/lib/docker/overlay2/f7d49a2f6e35bd44a4171c18981eba7a254f0d60c2bed7974feb35fb8a70895f/diff/usr/bin/mkpasswd
/var/lib/docker/overlay2/f7d49a2f6e35bd44a4171c18981eba7a254f0d60c2bed7974feb35fb8a70895f/diff/usr/bin/passwd
/var/lib/docker/overlay2/f7d49a2f6e35bd44a4171c18981eba7a254f0d60c2bed7974feb35fb8a70895f/diff/usr/sbin/chpasswd
Crontab
crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。其中:
1、cron是服务名称;
2、crond是后台进程;
3、crontab是计划任务表;
例如建立一个每天0时重启服务器的任务:
[root@localhost ~]# crontab -e
no crontab for root - using an empty one
crontab: installing new crontab
这里crontab -e会打开vi让你输入指令,那么指令如:
0 0 * * * reboot
格式是:
分 时 日 月 周 你的脚本或命令
保存后任务就建立成功了。
用crontab -l可以查看任务列表,如:
[root@localhost ~]# crontab -l
0 0 * * * reboot
at
一次性定时任务计划执行,即没有周期,不像crontab。那么at命令有可能你的系统也没有,安装如:
[root@localhost ~]# yum install at
Loaded plugins: fastestmirror, product-id, search-disabled-repos, subscription-
: manager
This system is not registered with an entitlement server. You can use subscripti on-manager to register.
Loading mirror speeds from cached hostfile
* base: mirrors.neusoft.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
Resolving Dependencies
--> Running transaction check
---> Package at.x86_64 0:3.1.13-24.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
at x86_64 3.1.13-24.el7 base 51 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 51 k
Installed size: 95 k
Is this ok [y/d/N]: y
Downloading packages:
at-3.1.13-24.el7.x86_64.rpm | 51 kB 00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : at-3.1.13-24.el7.x86_64 1/1
Verifying : at-3.1.13-24.el7.x86_64 1/1
Installed:
at.x86_64 0:3.1.13-24.el7
Complete!
At命令依赖atd服务,所以要启动std服务才可以使用
[root@localhost ~]# service atd start
使用实例:
1.三天后的下午5点执行/bin/ls
#:at 5pm+3 days
at>/bin/ls
at>按ctrl+D(上面要执行的命令输入完毕后换行后按ctrl+D即可保存)
那么使用如:
[root@localhost ~]# at 5pm+3 days
at> /bin/ls
at> <EOT>
job 3 at Wed Oct 7 17:00:00 2020
这里出现了EOT这里是你按ctrl+d后才出现的。
使用atq查看系统没有执行的工作任务
[root@localhost ~]# atq
2 Wed Oct 7 17:00:00 2020 a root
3 Wed Oct 7 17:00:00 2020 a root
关键字词:linux,w,pkill,pstree,host,fsck,locate,crontab,at
上一篇:2-9 文件及目录处理相关考点