WQhuanm
Linux 常用命令

Linux 常用命令

记录常用的操作,命令更细致的使用可以对命令使用 –help查看

文件和目录操作

  1. mkdir :创建目录
    • -p(–parents):递归创建多级目录(eg:mkdir -p /data/logs/nginx)
  2. ls :显示目录内文件
    • -a(–all):显示隐藏文件
    • -lh(–human-readable):-l以长格式显示详细信息(权限、大小、时间等),-h文件大小显示为kb,mb等人类可读形式
    • -t :按修改时间排序(新在前)
    • -S :按文件大小排序(大在前)
    • -r :对当前排序反向
  3. rm :删除
    • -r(–recursive):递归删除
    • -f(–force):强制操作,不提示
    • -v(–verbose):显示操作过程
  4. cp [source] [target]:复制目录/文件
    • -r(–recursive):递归复制
    • -f(–force):强制操作,不提示
    • -v(–verbose):显示操作过程
  5. ln [源文件] [链接文件路径] (硬链接只能对文件建立)
    • -s :建立软连接,可对文件/目录
    • -f :强制覆盖
    • -v :显示详细操作过程
  6. mv [cur] [tar]:移动目录/文件,或重命名(移动文件:位置不变表现为重命名;移动目录:目标目录不存在则表现为重命名,否则成为目标目录的子目录)
    • -f(–force):强制操作,不提示
    • -n(–no-clobber):不覆盖已有文件
    • -v(–verbose):显示操作过程
  7. chmod :修改文件权限
    • 使用10个字符标识权限
    • 第一个字符声明文件类型:-普通文件,d目录,l链接,p命名管道文件等
    • 第2-4,5-7,8-10个字符分别声明文件所有者权限(user),所属组权限(group),其他用户权限(others)
      • 权限为rwx,分别表示可读,可写,可执行(不具备相应权限用-表示,如rw-表示具有读写权限)
      • 也可以使用数字简写(r=4,w=2,x=1),比如chmod 777 file 使得所有用户对文件均具有读、写、执行权限
    • +-= :增加/删除/等于 右边权限(eg:chmod u+x a.txt)
  8. chown [options] [用户][:用户组] [file] :更改文件所属用户/用户组
    • : 分隔用户和用户组(如chown :group2 test.txt,只更改用户组)
    • -R :递归更改
  9. pwd :显示当前路径

文件查看与编辑

  1. touch :创建空文件

  2. cat :查看文件全部内容(默认输出到终端,可以>覆盖写到其他文件,或者>>追加写到其他文件)

  3. head/tail :显示文件的前/后10行

    • -n num :显示前/后num行(如果是-n +num,则表示从第num行开始打印到末尾)
    • -f :实时查看文件追加内容
  4. sed ‘s/old_text/new_text/g’ filename :用于对文本进行批量删除/替换

    • 默认不会修改文本,会把修改后文本输出到终端/重定向的文件
      • 字符串前缀s表示为替换,把文本所有old_text替换为new_text
      • 字符串后缀g表示全局替换:默认每行只会替换第一次匹配,g会替换所有匹配
      • 比如把win文本转为linux文本(需要把win换行符),命令为’s//g’,即把,即删除
    • -i(–in-place) :直接修改目标文本
  5. grep [-o] [模式] [file] :文本搜索/过滤(grep,Global Regular Expression Print)

    • 模式一般是指定的搜索文本,或者正则表达式
      • 若模式以-开头(忽略包裹的”“),需要使用 – 与 -o 的选项分隔 :grep [-o] – [模式]
    • file为grep处理的文本(逐行处理),也可通过管道 | 处理上一个命令的输出(管道|可将左侧输出作为右侧的输入)
    • 常用参数
      • -i :忽略大小写
      • -v :反转,显示不符合条件的
      • -n :显示匹配文本的行号
      • -w/-x :精准匹配指定单词(由字母,数字,下划线组成,其他符号为分隔符)/指定行
      • -F :将模式视为字符串而不是正则表达式
      • -E :使用扩展正则表达式,无需

压缩与解压

  1. tar :归档文件
    • 常见参数
      • -c(–create) :创建新的归档文件
      • -x(–extract) :提取归档文件
      • -v(–verbose) :显示详细操作过程
      • -f(–file) :指定归档文件名称
      • -t(–list) :列出归档文件内容
      • -z(–gzip) :使用gzip压缩归档文件
      • -j(–bzip2) :使用bzip2压缩归档文件
      • -J(–xz) :使用xz压缩归档文件
      • -C(–directory=DIR) :指定提取文件目录
      • –remove-files :归档后删除源文件
    • 常用组合命令
      • tar -cvf [归档文件路径] [被归档目录/文件路径]
        • 归档文件路径一般以tar结尾,如果使用了-z/-j等压缩工具,会增加提示后缀.gz、.bz2、.xz等
        • 被归档路径如果是 . 则表示归档当前目录所有文件
        • tar –remove-files -cvf :成功归档后会删除被归档文件(rm在-cvf前)
        • -C [path] :会先跳转到path目录,再打包指定路径文件(避免打包时包含了绝对路径)
      • tar -xvf [归档文件路径] -C [指定提取路径]
        • 不使用-C指定提取路径,则默认提取到当前所在目录
        • 提取无需指定解压格式
      • tar -tvf [归档文件路径] :查看归档文件详情属性(权限,大小等)
  2. zip -r [压缩文件路径] [被压缩文件路径]
    • -r :递归压缩
      • 不使用,则只有第一层的文件和目录
      • 解压当前目录所有文件时(即 .),必须-r
    • -e :对压缩包设置密码
    • -v :显示详细操作过程
  3. unzip [压缩文件路径] -d [解压至路径]
    • -l/-v :显示压缩包文件(-v更详细)
    • -o :解压时不提示直接覆盖

进程管理

  1. ps(process status) :查看进程信息
    1. 常用参数
      • a :显示所有终端上的所有进程
      • x :显示后台进程
      • u/-u :以用户友好形式显示当前用户的所有进程
      • U/-u [user] :显示指定用户的所有进程
      • -p :显示指定pid的进程
      • –sort=[+/-][排序选项(%cpu、%mem)]
    2. 常用组合命令
      • aux :显示所有用户的所有进程
      • ux -u [user] :显示指定用户的所有进程
  2. top :实时显示进程
    • -u [user] :指定用户
    • -p [pid] :指定进程
  3. kill [-o] [pid]
    • kill -l :可查看不同数字对应的信号
    • -9 :强制终止进程
    • -15 :请求进程终止(默认)
    • pkill -f [关键字] :删除匹配关键字的所有进程

网络命令

  1. ifconfig :查看网络接口配置

  2. wget [-o]:下载网络文件

    • -O [新文件名] :设定下载文件的名称(如果文件名带路径,则要求路径必须存在)
    • -P [目录] :指定下载文件保存目录(不能和-O同时使用,会失效)
    • -r :递归下载
    • -l [num] :限制递归下载深度
    • -c :启用断点续传(已下载部分不会重新下)
    • -nc :不覆盖已存在的同名文件
    • -b :后台运行
    • -o [日志文件]:指定输出日志(后台运行默认输出到wget-log)
  3. curl(Client for URLs) :用于执行网络请求,支持多种协议

    • -v :显示信息通信过程
    • -i :输出http响应头(-I 则是只获取响应头)
    • -X [request] :指定http请求方法(GET,POST等)
    • -d [data]:请求体
    • -H [header] :请求头(一个-H添加一对key-value)
  4. netstat :显示网络连接/端口占用的信息(network statistics,网络统计)

    • 常用组合 :netstat -tulnp
      • -t :显示tcp连接
      • -u :显示udp连接
      • -l :显示监听端口
      • -n :以数字显示显示
      • -p :显示进程名称和pid

其他常用命令

  1. ehco
    • 输出字符串的形式
      • 单引号’’ :不会解析变量和转义
      • 双引号”“以及不带引号 :可以解析变量(使用$,可输出环境变量)和转义反斜杠
    • 常用参数
      • -e :开启反斜杠转义(默认关闭)
      • -n :文本末尾不换行
  2. date +[target-format]:输出指定时间格式(eg:date +“%Y-%m”)
    • 时间格式常用参数(常用组合:“+%F %T”,即date +“%Y-%m-%d %H:%M:%S”)
      • Y/y :四位/两位年份
      • m/d :两位月份/日期
      • H/M/S :两位时/分/秒
      • F/T :完整日期/时间(即对应%Y-%m-%d和%H:%M:%S)
      • s :时间戳(秒数)
      • Z :时区名称
      • w :星期几(数字)
    • -d 指定日期 :date -d [target-time] +[target-format]
      • target-time 可以使用 @[时间戳] 指定,eg:date -d “@1704038400
  3. export [环境变量名]:导出环境变量(当前进程及子进程均可访问)
本文作者:WQhuanm
本文链接:https://wqhuanm.github.io/Issue_Blog/2025/07/07/41_Linux.常用命令/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可