不断更新
参考链接
- Linux CentOS 常用命令 命令大全 面试_linux常见命令面试_liyinchi1988的博客-CSDN博客
- Linux常用命令及面试题_linux常用命令面试题_南帝1115的博客-CSDN博客
- 面试常问的 25+ 个 Linux 命令 - 腾讯云开发者社区-腾讯云 (tencent.com)
基本命令
- 查看文件列表:ls
- 创建文件:touch 文件名
- 创建文件夹:mkdir 文件夹名
- 帮助
- 帮助:命令 --help
- 命令说明书:man 命令(q退出)
- 关机
- 立刻关机:shutdown -h now
- 5分钟后关机:shutdown -h 5
- 立刻关机:poweroff
- 重启
- 立刻重启:shutdown -r now
- 5分钟后重启:shutdown -r 5
- 立刻重启:reboot
目录操作
- 目录切换
- 切换到根目录:cd /
- 切换到根目录下的user目录:cd /user
- 切换到上一级目录:cd ..(/)
- 切换到home:cd ~
- 切换到上次访问的目录:cd -
- 目录查看
- 查看当前目录下文件:ls
- 查看当前目录下文件(包含隐藏文件):ls -a
- 列表查看当前目录下文件(更多信息):ls -l / ll
- 查看指定目录(user)下文件:ls /user
- 目录操作
- 创建目录
- 当前目录下创建名为ccyy的文件夹:mkdir ccyy
- 指定目录下创建名为ccyy的文件夹:make /user/ccyy
- 递归创建目录:mkdir -p /a/b/c/d
- 删除目录:-f:强制;-r递归
- 删除当前目录下的文件:rm 文件名
- 删除当前目录下的文件(强制不询问):rm -f 文件名
- 递归删除当前目录下的目录:rm -r 目录名
- 递归删除当前目录下的目录(强制不询问):rm -rf 目录名
- 全部删除当前目录下的所有文件:rm -rf *
- 自杀:rm -rf /*
- 修改目录
- 将ycy改成ccyy:mv ycy ccyy
- 剪切目录:mv /user/tmp/ccyy /user
- 复制粘贴目录:cp /user/tmp/ccyy /user
- 递归复制粘贴目录:cp -r /user/tmp/ccyy /user
- 查找目录
- 在指定文件夹中查找以“cc”开头的目录:find /user/tmp -name 'cc*'
- 创建目录
文件操作
- 创建文件:touch ccyy.txt
- 删除文件:rm -rf 文件名
- 修改文件:vi/vim ccyy.txt
- vim编辑器
- 命令模式
- 删除当前
- 命令模式
权限修改
- 修改权限(拥有者、拥有者所在的组、其他成员)为读写执行(rwx):chmod 777 ccyy.txt
- 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r,4 )、写(w,2)和执行(x,1)的权限:chmod ugo+rwx directory1
- 删除群组(g)与其他人(o)对目录的读写执行权限:chmod go-rwx directory1
打包压缩:-z:调用gzip打包压缩命令;-c:打包文件;-v:显示运行过程;-f:指定文件名;-x:解压
- 打包并压缩所有文件:tar -zcvf ccyy.tar */(所有文件名)
- 解压文件:tar -xvf ccyy.tar /user
查找
- 查找指定java服务进程:ps -ef | grep java
- 查找指定服务进程,排除java本身:ps -ef | grep sshd | grep -v grep
- 查找指定进程个数:ps -ef | grep java -c
- 当前目录下查找以.log结尾的文件并显示详细信息:find . -name "*.log" -ls
- 查找/root/目录下权限为600的文件:find /root/ -perm 600
- 查找当前所有目录并排序:find . -type d | sort
- 查找当前目录下大于100M的文件:find . -size +100M
- 搜索etc目录下所有以sh开头的文件:locate /etc/sh
- 查找和pwd相关的所有文件:locate pwd
- 将和java文件有关的都查找出来:whereis java
- 查找PATH变量指定的路径中搜索某个系统命令的位置并返回第一个:which pwd/java
其他命令
- 查看当前目录:pwd
- 查看进程:ps -ef
- 结束进程:kill 进程号
面试常问的命令
-
使用什么命令查看linux进程
- 查看linux进程:ps -ef
- 在进程中搜索指定进程:ps -ef | grep 进程名
-
根据名称查找/目录下的ccyy.txt文件:find / -name ccyy.txt
-
递归查找所有的xml文件:find . -name "*.xml"
-
递归查找所有内容包括“hello world”的xml文件:find . -name "*.xml" | xargs grep "hello world"
-
删除大小为零的文件:find ./ -size 0 | xargs rm -f &
-
查找当前所有的jar文件:ls -l | grep '.jar'
-
显示所有以d开头的文件包含test的行:grep 'test' d*
-
显示在aa,bb,cc文件中匹配test的行:grep 'test' aa bb cc
-
切换用户:su -username
-
查看文件头10行:head -n 10 a.txt
-
查看文件尾10行:tail -n 10 a.txt
-
使用超级管理员身份删除文件:sudo rm a.txt
-
查看8080端口使用情况:netstat -tln | grep 8080
-
查看端口属于哪个程序:lsof -i :8080
-
以树状图列出目录的内容:tree a
-
文件下载:wget/curl
-
网络检测:ping www.xxx.com
-
远程登录:ssh username@ip