Linux 基本常用命令

133 阅读7分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 14 天,点击查看活动详情

  • $SHELL:查看使用的哪种shell

  • $HOSTNAME:查看主机名

  • $MAIL:查看邮箱

  • cal:查看日历

  • ls 参数:显示目录信息;

    • -F区分文件和目录;
    • -R递归显示目录层级;
    • -i显示inode符号;
    • 匹配符:?匹配一个字符,*匹配0或多个字符;
    • 通配符:[az]两个字符中一个,[a-z]a到z中一个;
  • cp 参数 源文件 目标文件:文件复制

    • -p:保留原始文件的属性;
    • -d:若对象为链接文件则保留链接属性;
    • -r:递归复制;
    • -a:等于-pdr;
    • -i询问是否覆盖。
  • rm 参数 文件:文件删除;

    • -i:询问;
    • -f:强迫;
    • -r -R:层级;
  • ln -s desfile sourfile:显示在长列表中符号文件名后的->符号表明该文件是链接到文件 desfile 上的一个符号链接;

  • readlink -f filename:指令查到当前符号链接串的原始文件是什么;

  • mkdir 选项 目录:创建空白文件夹;

    • -p:同时创建父目录和其下的子目录;
    • -v:显示创建过程;
    • -m:mode目录的默认权限,如“-m 755”。
  • file a.txt:命令不仅能确定文件中包含的文本信息,还能确定该文本文件的字符编码;

  • tail:查看文件末尾,可以查看文件最新产生的内容;

    • tail -n 2 file.log:查看最后两行内容;
    • tail -f file.log:允许其他进程在使用该文件时查看文件最后的内容,并不断显示添加到文件的内容;
  • head -n 10:显示前十行,-10:显示后十行,-c显示多少字节

  • more:+n第n行开始显示,-n定义每次显示n行,空格键下一页,b键上一页,=显示当前行号,enter向下n行

  • less:-N显示每行行号,

  • vimtutor -g zh:查看vim的中文文档

  • ps:显示运行在当前时刻当前控制台下属于当前用户的进程;

    • -e:查看系统上运行的所有进程;
    • -f:扩展信息列;
    • -l:长格式输出信息;
  • top:实时显示进程信息

  • kill -s HUP 3940:通过指定的PID结束某个进程;

    • -s支持指定信号名或信号值;
    • 1 HUP 挂起;
    • 2 INT 中断;
    • 3 QUIT 结束运行;
    • 9 KILL 无条件终止;
    • 11 SEGV 段错误;
    • 15 TERM 尽可能终止;
    • 17 STOP 无条件停止运行,但不终止;
    • 18 TSTP 停止或暂停但继续在后台执行;
    • 19 CONT 在STOP或TSTP之后恢复执行。
  • killall http*:支持进程名和通配符的形式终止进程;

  • df:查看所有已挂载磁盘的使用情况;

    • -h:以更直观的方式查看;
  • du dir:显示dir目录的磁盘使用情况,没有则可以显示当前目录使用情况;

    • -s:同时查询多目录时,依次只显示每个输出参数(目录)的总大小。
    • -c:同时查询多目录时,显示所有已列出文件总的大小。
    • -h:按用户易读的格式输出大小
  • tar 参数 文件:解压与压缩;

    • -c:创建压缩文件;
    • -x:解开压缩文件;
    • -z:用Gzip压缩或解压;
    • -j:用bzip2压缩或解压;
    • -v:显示解压缩过程;
    • -f:后接目标文件名;
    • -p:保留原始权限与属性;
    • -P:使用绝对路径压缩;
    • -t:查看压缩包内有哪些文件;
    • -C:指定解压目录;
    • gzip:用来压缩文件。
    • gzcat:用来查看压缩过的文本文件的内容。
    • gunzip:用来解压文件
  • grep 选项 关键词 文件:对文件进行文本搜索;

    • -c:仅显示找到的次数;
    • -i:忽略大小写;
    • -n:显示行号;
    • -v:反向选择;
  • find 路径 条件 操作:用于查找文件;

    • -name:匹配名称;
    • -perm:匹配权限;
    • -user:匹配用户;
    • -group:匹配用户组;
    • -mtime/-atime/-ctime -n +n:匹配修改内容/访问文件/权限的时间,-n天以内,+n天以前;
    • -nosuer/-nogroup:无用户/组文件;
    • -newer f1 !f2:匹配比f1新却比f2旧的文件;
    • --type b/d/c/p/l/f:匹配文件类型,块设备/目录/字符/管道/链接/文件;
    • --size -n/+n:匹配文件大小,不超过nk/大于nk的文件。
  • reboot:重启系统

  • wget [参数] url:下载网络文件;

    • -b:后台下载模式;
    • -o:下载到指定目录;
    • -t:最大尝试次数;
    • -p:下载页面所有资源,包括视频图片;
    • -r:递归下载。
  • ifconfig:查看网卡配置信息

  • uname -a:查看系统内核版本等信息

  • uptime:查看系统的负载情况

  • free:显示当前系统中的内存使用情况,-m-g:单位

  • who:查看当前登入主机的用户情况

  • last:查看所有的系统登入记录

  • history:显示历史执行过的命令

  • pwd -P:显示真实路径,而不是链接路径

  • tr 原始字符 目标字符:用于转换文本文件中的字符

  • wc 参数 文本:统计指定文本;

    • -l:只显示行数;
    • -w:只显示单词数;
    • -c:只显示字节数;
  • cut 参数 文本:用于通过列来提取文本字符;

    • -d 分隔符:指定分隔符分割;
    • -f 整数:指定显示的列数;
    • -c:单位改为字符。
  • diff 参数 文件1 文件2 ……:比较多个文件的差异;

    • -b:忽略空格差异;
    • -B:忽略空行差异;
    • -q:仅报告是否存在差异;
    • -c:使用上下文输出格式。
  • dd:指定大小的拷贝文件或是转换文件;

    • if=文件1:指定输入文件的名称;
    • of=文件2:指定输出文件的名称;
    • bs=size:设置每个块的大小。
  • useradd 参数 用户名:创建新的用户;

    • -d:指定用户的家目录,默认为/home/username;
    • -D:展示默认值;
    • -e:设置账号有效期;
    • -g:指定一个初始用户组;
    • -s:指定默认的Shell;
    • -u:指定用户的UID;
  • userdel:删除用户所有表格。

  • usermod:修改用户属性。

  • export 变量名=变量值:将局部变量提升为全局变量

  • chattr 参数 文件:设置文件的隐藏权限。

  • lsattr 参数 文件:显示文件的隐藏权限。

  • su 用户名:切换登陆者。

  • sudo 参数 命令:给普通用户额外的权利来完成原本由超级用户才能完成的命令;

    • -h:列出帮助信息;
    • -l:列出当前用户可以执行的命令;
    • -u:以指定用户执行命令;
    • -s:切换成超级用户;
  • su root //进入root用户

  • vim /etc/sudoers //打开sudo的配置文件

  • visudo 加sudo权限

  • nohup:放在命令开头,表示不挂起,也就是关闭终端进程也继续保持运行状态;

  • /dev/null:是 Linux 文件系统中的一个文件,被称为黑洞,所有写入改文件的内容都会被自动丢弃;

  • 2>&1:表示将错误重定向到标准输出上

  • &:放在命令结尾,表示后台运行

  • 一般会组合使用: nohup [xxx 命令操作]> file 2>&1 &,表示将 xxx 命令运行的结果输出到 file 中,并保持命令启动的进程在后台运行。

crontab 是用来定期执行程序的命令,当安装完成操作系统之后,默认便会启动此任务调度命令。

    *    *    *    *    *
    -    -    -    -    -
    |    |    |    |    |
    |    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
    |    |    |    +---------- 月份 (1 - 12) 
    |    |    +--------------- 一个月中的第几天 (1 - 31)
    |    +-------------------- 小时 (0 - 23)
    +------------------------- 分钟 (0 - 59)
    0 6-12/3 * 12 * /usr/bin/backup:在12月内, 每天的早上6点到12点,每隔3个小时执行一次 /usr/bin/backup;

crontab -e/-l dig url iftop -P

find . * |grep -v .git|xargs wc -l 查看代码总行数 curl -L/ --loaction 参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。