通用工具篇
1 如何使用一个命令来查找并删除/home/*目录下的全部.tmp文件
首先你需要用find命令查找这些文件,再用rm -rf对这些文件进行删除
find /home/ -name '*.tmp'|xargs rm -rf
# 或者
find /home/ -name '*.tmp' -exec rm {} \;
2 如何使用“自动修正”功能,自动将cd /homr修正为cd /home
在shell里面输入shopt -s cdspell为shell添加cdspell选项,开启“自动修正”的功能
3 如何获取一个命令的使用手册,比如mail命令的使用手册
要获取一个命令或者服务的使用手册可以使用man或者info这一类的命令。比如:man mail或者`info mail
4 假设你需要运行一个crontab的定时任务命令,但是你又不希望这个定时任务发送输出结果,您会如何处理。
可以利用类似黑洞的设备文件/dev/null,将定时任务的所有输出结果(STDOUT和STDERR)重定向到该文件。
* * * * * 定时任务命令内容 2>&1 > /dev/null
5 在当前机器上查看arp缓存表信息
可以使用arp名来来查看和管理本机的arp缓存信息
6 在命令行终端下如何弹出你的cdrom
可以使用命令eject在命令行中断下弹出cdrom
7 一个进程名为./myapplication且PID为44556,如何查找该文件是从哪里执行的?
可以通过pwdx命令来识别指定的PID的执行路径。如:pwdx 44556就会输出它的执行路径
8 您现在在做一个服务或软件的部署安装,同时你希望你可以把这个过程的命令进行录制,以便部署完成后可以对部署过程的命令重新检视一遍,你该如何做?
script命令可以实现这样的功能,它可以把你的操作记录在一个你指定的文档中,例如:在命令行输入script -a mymessage.log命令,开始记录接下来的输入操作,在需要退出录制的使用,输入exit退出记录。上面的命令中,操作被记录在mymessage.log文件中。
[root@learning ~]# script -a mymessage.log
Script started, file is mymessage.log
[root@learning ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 8.9M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 46G 6.6G 39G 15% /
/dev/sda1 xfs 1014M 239M 776M 24% /boot
/dev/sdb1 ext4 9.8G 37M 9.2G 1% /database
tmpfs tmpfs 379M 0 379M 0% /run/user/0
[root@learning ~]# free -m
total used free shared buff/cache available
Mem: 3789 216 2899 8 673 3336
Swap: 3967 0 3967
[root@learning ~]# exit
exit
Script done, file is mymessage.log
9 在命令行中怎么查看2024年一月的日历
使用cal 月份 年份来查看
[root@learning ~]# cal 01 2024
一月 2024
日 一 二 三 四 五 六
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
10 在一个目录中有100 个 .txt 文件,要查找那个文件里面有 “Error Found”的字符串,该如何操作
可以使用grep查找数据文件,如:
grep "Error Founf" *.txt
11 在Linux下使用什么命令可以获取到例如域名baidu.com的IP地址信息。
根据提供的域名方向查找其对应的IP,可以使用nslookup命令
sean@All-Series:~$ nslookup baidu.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: baidu.com
Address: 110.242.68.66
Name: baidu.com
Address: 39.156.66.10
sean@All-Series:~$
12 以下命令执行的结果是什么?touch -m myFile
如果该文件存在,就仅仅修改文件的修改时间(mtime),如果文件不存在,则是创建该文件。
13 怎样打包MyTarFiles目录及其下面的文件为文件MyTar.tar
可以使用下面的命令来将目录及其里面的内容进行打包
tar -cf MyTar.tar MyTarFiles
上面的命令中
MyTar.tar是打包后的文件名
MyTarFiles是指需要打包的源,可以是目录或者文件,如果只是指定目录,其将包含里面的内容
-c是指创建一个打包
f是一定需要的,它后面跟着你打包完成后的文件名
14 不查看文件,仅使用命令如何查看当前系统的内核信息
uname命令可以查看系统信息,如果仅需要查看系统的内核信息可以使用下面的命令
[root@learning ~]# uname -srv
Linux 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024
15 怎样在Linux终端使用“窗口命令”
Linux提供了mc (Midnight Commander)工具,允许用户在Linux控制台中拥有一个交互式的文件管理界面。
16 当你有root权限的情况下,怎样修改一个其他用户的密码(比如:john)
使用passwd命令可以修改指定用户的密码
# 根据提示输入密码
passwd john
# 或者(不建议,密码会明文的留在history中)
echo “密码的内容” | passwd --stdin john
17 你如何确保你的服务器时间和日期是正确的
使用ntpd服务配置连接ntp服务器进行时间校对,或者手动使用一下的命令
ntptime ntpserver.com
18 假设你有一个名为myFiles.tar的tar包文件,该如何将其装为最大压缩比例的gzip文件
可以使用下面的命令指定压缩级别把文件myFiles.tar转压为myFile.tar.gz
gzip -9 myFile.tar
19 如何在运行的时候禁用儿eth1网卡
在当前的运行时,如果需要禁用网卡,可以使用下面的命令
# 命令1
ifdown eth1
# 命令2
ifvonfig eth1 down
# 命令3
ip link set eth1 down
20 如何获取你当前登录的用户名
可以通过whoami这个命令来获取当前登录用户的用户名
21 使用apt-get应用可以安装gcc编译器吗?
使用apt-get命令可以下载和安装新的应用,比如
apt-get install gcc
22 如何在内网中使用VNC远程连接Linux的桌面
首先在服务器端运行vncserver,再于客户端使用vncviewer进行连接,默认端口号第一个桌面为5900,第二个为5901,以此类推
23 如何用一个简单的命令从“mylog.log”文件中找出所有以单词“Error”开头的行
在Linux中有一个命令look,它的作用仅仅是从行首查找指定的关键字内容
look Error mylog.log
24 有一个文件“myfile”,如何随机排序里面的每行数据创建独特的文件“mynewfile”
Linux下的shuf命令可以满足这个需求
shuf myfile > mynewfile
25 当你把一个文件从一个服务器移动到另一个服务器,但不确定是否已经完整的移动过去,该如何校验文件是否与原文件一致
可以使用md5sum工具来校验两个文件的MD5校验值是否一致
26 如何使用一个命令通过sftp从远程服务器10.1.1.1的/root/目录复制文件"file.txt"到你的本地服务器目录中
这时你就需要使用到scp这个命令了。具体用法如下:
scp root@10.1.1.1:/root/file.txt ./
27 如何将/home/user1目录及其里面的内容(递归)修改其所属为user2。
通过chown命令加上-R参数递归可以实现
chown user2:user2 -R /home/user1
28 怎样检测一个系统在最后一次重启后至今运行了多长时间、系统资源的负载
通过uptime命令可以查看系统的当前时间,最后一次重启(或者开机)至今系统运行的总时长,当前系统登陆的用户数以及系统1,5和15分钟的资源负载
29 该如何查看某个特定用户当前正在运行的进程
ps命令可以查看全部用户或者指定用户当前正在运行的进程
30 怎样可以通过自动刷新的界面查看系统中所有的进程及其资源使用情况
top命令可以通过资源使用情况的排序方式显示系统里面的所有进程
31 解压gzip压缩包文件的命令是什么。
可以通过gunzip命令来解压的,也可以直接使用gzip -f来强制解压
32 现在有其他用户上传一个文件(newfile.tar.gz)到你的目录里面,你知道这个文件的大小为100M,该如何每5秒查看一次该文件上传的完成情况?
可以使用以下的命令来实现每5秒监控一次并将结果输出到命令行终端
watch -n 5 'ls -sh newfile.tar.gz'
33 如何在不解压的情况下查看一个gzip压缩文件的内容。
用zcat可以直接查看gzip压缩包里面的文件内容
zcat <filename>.gz
34 你在/bin/里面找到一个命令,但是你不知道它的用法,该怎么获取它的简要说明
获取一个命令的简要说明可以使用whatis命令,格式如下:
whatis <command>
35 locate和slocate的区别是什么
locate:搜索文件的更新结果
slocate:查找用户有权访问的文件
36 locate这个命令运行成功可以得到什么结果
locate命令是创建updatedb数据库,并根据里面的更新数据进行结果的查询
37 你该如何在当前目录下的所有.txt文件中查找关键字为FindMe的内容
find . -name "*.txt" | grep "FindMe"
38 如何发送一个消息(Hello everyone)给系统上所有在线的用户
使用wall命令可以给系统上在线的用户发送信息
wall Hello everyone
39 创建一个定时任务,在每天凌晨3点运行一次,将执行ls命令的内容写进/tmp/ls_result文件中。
# 编辑定时任务列表
crontab -e
# 新增新的任务
0 3 * * * /bin/ls > /tmp/ls_result
# 保存并退出
40 为/bin/runme创建一个名为/bin/runmetoo的软链接
使用ln命令就可以创建软链接
ln -s /bin/runme /bin/runmetoo