常用的linux命令 | 青训营笔记

95 阅读4分钟

不断更新

参考链接

基本命令

  • 查看文件列表: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