前言:鼠鼠先请大家吃两道薯条练练手(文档可跳转至第一部分查看)
楼主最近也是做了很多的笔试呀,发现自己在linux命令部分有些欠缺,也不是欠缺,就是经常性的需要查文档,导致自己在笔试时出现记忆错乱问题,先贴张图,为楼主做的23年阅文的笔试的linux命令题。
给大伙看一下,看看大家有没有印象,或者能不能做出来。
第一道题目
第一问很简单了,重命名是mv。
第二问我看的评论区很多都是rm-rf,楼主也是rm-rf,开个玩笑,什么竟然是rm-rf大人,哈哈哈哈。但是仔细搜了下其实是rm-rf的一个用法,众所周知,我们在linux中一般都是慎用rm-rf的,楼主也在学习过程中多次记住,看到这个题目第一反应也是rm-rf,但是正确答案并不是这样。
而是,rm -f home/qqbook/script ,或者更好的是用rm -ri home/qqbook/script。
第二道题目
第一问切换当然是cd了,有个好记的用法,切换有cd,和moba技能一样好了才可用,所以是cd。
第二问经过思索也试过了当然是,这里详细解释下第二问。
find /home/qqbook/script/ -type f -exec grep feidu {} \;
解释一下:
第一步:用find命令找到目录。
第二步:再用-type f匹配文件。
这里详细介绍一下-type命令
f
:普通文件
d
:目录
l
:符号链接
第三步:-exec...\ 代表对每个找到的文件执行指定命令
这里详细解释一下 -exec
启动命令执行模式
grep feidu {}
是要执行的命令
{}
是 find
命令的占位符,表示当前匹配到的文件
\;
是命令结束标记,必须用反斜杠转义
最后就是我们的grep命令,就不过多介绍了。经过两道习题,不清楚大家感觉怎么样,是不是在自己独自面对这两道题目第二问的时候会出现记忆模糊不确定的现象。
那我就在下面总结一些,我个人在学习和笔试阶段会经常用的一些linux命令,可能不全,但是是考点和难点哦。
一、系统命令
1.1 帮助 --help
或 -h命令
ls --help # 查看ls命令的帮助
grep -h # 查看grep的简要帮助
1.2关机or重启 shutdown-h or shut-r 命令
# 立即关机
sudo shutdown -h now
# 5分钟后关机(-h 表示halt)
sudo shutdown -h +5
# 指定时间关机(例如20:30)
sudo shutdown -h 20:30
# 立即重启(-r 表示reboot)
sudo shutdown -r now
# 取消关机计划
sudo shutdown -c
1.3切换用户 su-username 命令
su - username # 切换到指定用户并加载其环境变量
su username # 不加载环境变量,仅切换用户
1.4退出 exit 命令
exit # 退出当前 shell 会话(终端窗口/SSH连接)
二、目录命令
2.1查看目录 ls命令
ls # 列出当前目录下的文件和文件夹
ls -l # 长格式显示(权限、所有者、大小、日期等)
ls -a # 显示所有文件(包括隐藏文件)
2.2切换目录 cd命令
cd /path/to/directory # 切换到指定目录
cd .. # 切换到上级目录
cd - # 回到上一次所在目录
2.3创建目录 mkdir命令
mkdir dirname # 创建单个目录
2.4删除目录 rm命令 注意咯!!!不推荐rm-rf,小心跑路!!!
2.4.1安全删除技巧(笔试可以试一下)
rm -ri dirname # 每个文件/目录删除前提示确认
2.4.2模拟删除(多模拟总没错的)
rm -rd --dry-run dirname
2.4.3 库 删 跑 危
(极度不推荐)
rm -r dirname # 递归删除目录及其所有内容(慎用!)
rm -rf dirname # 强制递归删除(不提示,极危险!)
2.5复制目录 cp命令
cp -r src/ dest/ # 递归复制目录及其内容
cp -r src/* dest/ # 复制目录内容到另一个已存在的目录
2.6移动目录 mv 命令 (很像move很好记)
mv old_dir new_dir # 重命名目录
mv dir1/ dir2/ # 将dir1移动到dir2内部
mv dir1/ ../ # 将dir1移动到上级目录
2.7查看目录 pwd命令
pwd # 显示当前工作目录的绝对路径
三、文件命令
3.1查看文件
3.1.1查看内容 cat命令(哈基米
)
cat file.txt # 显示文件全部内容
cat > new_file.txt # 创建新文件并输入内容(按Ctrl+D保存退出)
cat file1.txt file2.txt > merged.txt # 合并两个文件内容到merged.txt
3.1.2分页查看大文件 more命令(也是moremore
)
more big.log # 用more打开大文件(适合纯文本,不支持二进制)
3.1.3分页查看大文件更推荐 less命令 (毕竟鼠鼠怕more猫)
less big.log # 打开后按空格翻页,按`/关键词`搜索,按`q`退出
3.1.4查看文件前几行 head命令(-n指定行数)
head -n 20 error.log # 显示前20行
3.1.5查看文件后几行 tail 命令(-n指定行数) 加实时监控
tail -n 50 app.log # 显示最后50行
tail -f system.log # 实时监控文件新增内容(按Ctrl+C停止)
3.2文件编辑 vim命令 记这三个命令狗辣!
vim settings.conf # 按`i`进入编辑模式,写完按`Esc`,再输入`:wq`保存退出(`:q!`不保存强制退出)
3.3文件操作(增删)
3.3.1创建空文件(1 秒搞定)
touch new_file.txt # 直接创建一个空文件
3.3.2 rm 删除文件(危险!别删错)
rm temp.txt # 删除文件(会问你是否确认,按y)
rm -f unwanted.txt # 强制删除(不询问,直接删)
3.3.3 创建软连接 ln-s 命令(相当于快捷方式)
ln -s /真实路径/文件 快捷方式名 # 例:ln -s /data/logs/app.log app.log.link
3.4文件搜索和统计
3.4.1万能查找grep命令
grep "error" log.txt # 查找包含"error"的行
grep -i "keyword" file.txt # 忽略大小写搜索
grep -v "ignore" data.txt # 排除包含"ignore"的行
3.4.2 统计 wc命令 统计文件的行数(-l
)、单词数(-w
)、字符数(-c
)
wc -l poem.txt # 统计行数
wc -w article.md # 统计单词数
wc -c data.bin # 统计字节数
3.5 文件查找 find命令
find . -type f -name "*.conf" # 在当前目录找所有.conf文件(*是通配符,代表任意字符)
find /home/user -name "重要文件.txt" # 在/home/user目录下找指定文件名的文件
3.6快捷小工具
3.6.1看文件类型 file命令
file image.png # 会告诉你这是PNG图片文件
3.6.2 看文件大小 du-h命令
du -h large_file.iso # 显示文件大小
四、文件权限的简单说明
Linux 文件权限分 3 类用户(所有者 / 组 / 其他),各有读 (r=4)、写 (w=2)、执行 (x=1) 权限。用ls -l
查看,9 个字符依次对应三类用户权限(如rwxr-xr--
)。改权限用chmod
,数字法如chmod 755 文件
(所有者全权限,组和其他用户可读可执行),字母法如chmod u+w 文件
(给所有者加写权限)
五、其他常用用法
5.1 进程查看 (包含|用法)
ps -aux | grep "nginx"
顺嘴解释下管道符|
例如a|d 就是a的结果作为d的内容输入
5.2 实时监控 top命令(资源占用 top 榜)
top # 备注:启动后进入交互式界面,显示实时进程信息。常用操作:按P键按CPU占用排序,按M键按内存占用排序,按q键退出。用于排查系统资源(CPU/内存)占用过高的进程。
5.3 查看内存使用 free -h命令(鼠鼠可读格式)
free -h
5.4 查看哪个磁盘满了 df-h命令
df -h
5.5 搜索日志关键词(定位错误)
grep "ERROR" app.log
5.6 远程登录服务器 ssh命令(zookeeper解决假死有哦)
ssh user@192.168.1.100
5.7 下载文件 wegt命令(一眼wegame下载很好记)
wget https://example.com/file.zip
5.8 压缩解压 tar命令(差点忘了 ,哼)
tar -zcvf backup.tar.gz /data # 压缩/data目录为backup.tar.gz(-z用gzip压缩,-c创建,-v显示过程,-f指定文件名)
tar -zxvf backup.tar.gz # 解压刚才的压缩包(-x解压,其他参数同上)
unzip file.zip # 解压zip文件(最直接的命令)
5.9 终止进程 kill命令(我是个冷酷杀手)
这里提一嘴,楼主遇到问题但是不是kill解决,后续再告诉你们,单独开个小帖
kill -9 1234 # 强制杀进程(1234是进程号,用ps查到后杀)
5.10打印 awk命令(一般看看有没有错误)
awk '{print $1}' data.csv # 打印CSV文件第一列(处理表格数据常用)
5.11 查路径在哪 which命令
which python3 # 查python3装在哪(如输出/usr/bin/python3