Linux 基本指令
推荐:linux命令大全
Linux关机命令
- 常用:halt、reboot
- 重启命令
- reboot
- shutdown -r now 立刻重启
- shutdown -r 10 过10分钟自动重启
- shutdown -r 20:35 在时间为20:35时候重启
- shutdown -c 取消重启
- 关机命令
- halt
- poweroff 立刻关机
- shutdown -h now 立刻关机
- shutdown -h 10 10分钟后自动关机
- shutdown -c 取消关机
基础指令
- ls:列出当前工作目录下的所有文件/文件夹的名称 【ls [选项] [对象]】
- ls 目录:列出指定目录下的所有文件/文件夹的名称
- ls 选项 对象
- ls -l root
- ls -la
- ls -a
- …其他【可以使用 ls --help 命令查看帮助】
- pwd:print work directory 打印当前的工作路径 【没有选项和对象】
- cd:change directory 用于切换当前的工作目录 【cd 路径】
- linux 特殊:cd ~ 表示打开当前用户家目录
- mkdir:创建目录 【mkdir 路径(可以是文件夹名称,也可以是包含文件夹名称的完整路径)】
- mkdir -p 创建目录(当一次性创建多层不存在的目录时使用,如果不加 -p 会报错) 【mkdir -p 路径(可以是文件夹名称,也可以是包含文件夹名称的完整路径)】
- touch:创建文件 【touch 文件路径(可以是文件名称,也可以是包含文件名称的完整路径)】
- cp:copy 复制文件/文件夹到指定位置 【cp 被复制的文档路径 文档保存路径】
- 注意:使用 cp 命令复制文件夹时,需要增加 -r 选项 【cp -r 被复制的文档路径 文档保存路径】,-r 表示递归复制
- mv:move 移动一个文档到新的位置 【mv 需要移动的文档路径 文档的保存路径】
- 注意:linux中,重命名文件/文件夹也是mv命令,语法规范和移动一样的
- rm:移除文件或者文件夹
- -f force 不要提示,直接删除 【rm -f 文件】
- -r 删除文件夹
- 通配符: “*” 表示任意字符
- vim:文本编辑器,打开文件 【vim 文件路径(可以存在,也可以不存在)】
- 在没有输入其他其他键的情况下,按下 ":q"然后 "enter"键退出
- 有修改之后,按ESC键 跳到命令模式,然后
- :w 保存文件但不退出vim
- :w file 将修改另外保存到file中,不退出vim
- :w! 强制保存,不退出vim
- :wq 保存文件并退出vim
- :wq! 强制保存文件,并退出vim
- q: 不保存文件,退出vim
- :q! 不保存文件,强制退出vim
- :e! 放弃所有修改,从上次保存文件开始再编辑
- 输出重定向:一般的额命令输出都会显示在终端中,但是有时候需要将输出结果保存到文件中进行后续的分析/统计,在这个时候就需要使用到输出重定向技术。
- >:覆盖输出,会覆盖原来文件中的内容
- >> :追加输出,不会覆盖原来文件中的内容,会在原来文件内容的结尾继续添加
- 语法:正常执行的指令 >/>> 文件路径(文件可以不存在,不存在则新建) 【ls -lah aaa > aaa.txt】
- cat:
- 作用1:直接打开一个文件的功能 【cat 文件路径】
- 作用2:对文件进行合并 【cat 待合并的文件路径1 待合并的文件路径2 待合并的文件路径n >/>>(输出重定向符号) 合并结果文件路径】
进阶指令
- df:查看磁盘空间【df [-h] (-h表示以可读性较高的形式展示磁盘大小)】
- free:查看内存使用情况 【free [-m/-g] (-m/-g表示查看单位 -m:MB -g:GB)】
- head:查看一个文件的前n行 如果不指定,默认前10行【head -n 文件路径 (n:表示行数)】
- tail:
- 作用1:查看一个文件的后n行 如果不指定,默认后10行【tail -n 文件路径 (n:表示行数)】
- 作用2:可以通过tail指令查看一个文件的动态变化 【tail -f 文件路径】
- less:查看文件,以较少的内容进行输出,按下辅助功能键(数字键+回车、空格、上下方向键)查看更多 【less 文件路径】
- wc:统计文件内容信息(行数[-l lines]、单词数[- w words,依照空格数来区分单词数]、字节数[-c bytes]) 【wc [-l]/[-w]/[-c]/[-lwc] 文件路径】
- date:操作时间和日期(读取、设置)
- 语法1:【date】查看当前时间 输出形式:2018年 11月 12日 星期一 00::1:22
- 语法2:【date +%F】 等价于 【date +"%Y-%m-%d"】 输出形式 2018-11-12
- 语法3:【date “+%F %T”("“表示让年月日时分秒成为一个整体)】 等价于 【”+%Y-%m-%d %H:%M:%S"】 输出形式 2018-11-12 00:14:23
- 获取之前或者之后的时间:
- 如:获取前一天的时间 【date -d “-1 day” “+%Y-%m-%d %H:%M:%S”】
- 变化部分:"-1 day"
- 符号可选值:+(之后的时间) 、-(之前的时间)
- 单位可选值:day(日)、month(月)、year(年)、hour(时)、minute(分)、second(秒)
- 如:获取前一天的时间 【date -d “-1 day” “+%Y-%m-%d %H:%M:%S”】
- 说明:
- %F:表示完整的年月日
- *T:表示完整的时分秒
- %Y:表示四位的年
- %m:表示两位的月(带前导0)
- %d:表示日期(带前导0)
- %H:表示小时(带前导0)
- %M:表示分钟(带前导0)
- %S:表示秒数(带前导0)
- cal:用来操作日历的
- 语法1:【cal】 查看当前月份日历 等价月 【cal -1】
- 语法2:【cal -3】 表示输出 上一月+当前月+下一月的日历
- 语法3:【cal -y[年份]】 表示输出某一年的日历 [年份]不输入表示显示当前年
- clear/Ctrl+L:清除终端中已存在的命令和结果
- 注意:该命令并不是真正的清除了之前的命令,而是把之前的信息隐藏到最上面,可以通过滚动条继续查看以前的信息。
- 管道:管道符 “|”
- 作用:一般应用 “过滤”、有一些“特殊用法”、还可以做“扩展处理”
- 语法:不能单独使用,必须配合前面所讲的一些指令还一起使用,其主要是起辅助作用
- 案例
- 过滤案例:【ls /|grep y】列出根目录下所有包含字母 “y” 的文档
- 说明:
- ① 以管道作为分界线,前面的命令有个输出,后面需要输入,然后在过滤,最后在输出。通俗的讲,就是管道前面的输出就是管道后面指令的输入
- ② grep:主要用于过滤,也可以和其他的指令配合使用
- 说明:
- 特殊用法案例:通过管道的操作方法实现 【less 文件路径】的等价效果 【cat 文件路径|less】
- 扩展处理:统计某个目录下的文档总个数 【ls /| wc -l】 统计根目录下的文档总个数
- 过滤案例:【ls /|grep y】列出根目录下所有包含字母 “y” 的文档
高级指令
- hostname:操作服务器主机名(读取、设置[使用这个设置的主机名,重启就会恢复])
- 语法1:【hostname】,读取完整的主机名
- 语法2:【hostname -f】,,读取当前主机名中的FQDN(全限定域名)
- id:查看一个用户的一些基本信息(用户ID,用户组ID,附加组ID,…),如果不指定用户,则默认当前用户 【id [用户名]】
- whoami:显示当前登录的用户名,一般用于shell脚本,获取当前操的作用户名方便记录日志 【whoami】
- ps -ef:【ps -ef】
- ps:用于查看当前服务器的进程信息
- -e:等价于 “-A”,表示列出全部进程
- -f:显示全部的列(显示全字段)
- top:查看服务器的进程占用的资源
- 进入命令: 【top】 动态显示,自动刷新。进入之后,会失去光标
- 退出top模式:q
- 在运行 【top】 时,可以按下方便的快捷键:
- M(shift+m):表示将结果按照内存(MEM)从高到低进行降序排列
- P(shift+p):表示将二级果按照cpu使用率从高到低进行降序排列
- 1(数字1):当服务器拥有多个CPU可以使用时,按下“1”快捷键来切换是否展示显示各个CPU的详细信息
- du -sh:查看目录的真实大小 【du -sh 目录路径】
- -s:summaries;只显示汇总大小
- -h:表示以高可读性的形式形式大小
- find:用于查找文件 【find 路径范围 选项 选项的值】
- 选项有很多,主要用 -name 和 -type
- -name:按照文档名称进行搜索(支持模糊搜索)
- -type:按照文档的类型进行搜索
- 文档类型: “-” 表示文件(在使用 find指令时,需要用 “f” 来替换);“d” 表示文件夹/目录
- service:用于控制一些软件的服务启动、停止、重启 【service 服务名 start/stop/restart】
- kill:杀死进程 【kill 进程id(PID)】 需要配合 【ps】指令一起使用
- killall:杀死进程 【killall 进程名称】
- ifconfig:用于操作网卡 【ifconfig】
- reboot:重新启动计算机 【reboot】
- reboot -w: 模拟重启,但不重启 【reboot -w】只写关机与开机的日志信息,但不重启
- shutdown:查看这里
- uptime:输出计算机的在线时间(从计算机开机以来到现在的时间) 【uptime】
- uname:获取计算机系统相关信息
- uname:获取计算机的操作系统类型【uname】
- uname -a:all;获取计算机的详细信息(类型、全部主机名、内核版本、发布时间、开源计划)【uname -a】
- netstat:查看网络连接状态【netstat -tnlp】
- -t:表示只列出tcp协议的连接
- -n:表示将地址从字母组合转换成IP地址,将协议转换成端口号来显示
- -l:表示过滤出 “State(状态)” 列中其值为 “LISTEN”(监听) 的连接
- -p:表示显示发起连接的进程PID和进程名称
- man:manual;手册,包含了linux中全部命令的手册 【man 命令】,退出按 q 键