Linux常用命令

[TOC] 目录
目录生成脚本地址:https://www.jianshu.com/p/caa21e6796bd

一、目录和文件命令

pwd,查看当前工作目录的完整路径

  • pwd:/root

ls,用来打印当前目录的清单,可以指定其他目录

-a:列出目录下所有的文件,包括以”.”开头的隐藏文件

-l:除了文件名外,还列出文件权限、所有者、大小等详细信息

-r:反向次序排列

-t:以文件修改时间排序

-g:类似-l,但是不列出所有者

-h:以容易理解的文件格式列出(如1K、234M、2G)

例如:

ls -l t*:列出所有文件名以”t”开头的文件信息

cd,切换文件目录至dirName

例如:

cd /:进入系统根目录

cd aa/bb/cc:跳转到指定目录,注意这里”aa”前没有”/“,指从当前目录跳转到指定目录

cd ~:进入系统主目录

cd ..:跳转到上一级

mkdir 创建目录

用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录

-m:创建目录的时候设定权限

-p:若创建目录的路径中有些路径不存在,可一次性地建立多个目录

例如:

mkdir test1:创建一个空目录test1

mkdir -p test1/test2:递归创建多个目录

mkdir -m 777 test:在创建目录test3的时候给此目录赋予777的权限

rm 删除一个或多个文件或目录

删除一个目录中的一个或多个文件或目录,它可以将某个目录及其下所有文件及子目录删除。对于链接文件,只是删除了链接,原有文件均保持不变

-f:强制删除且不给出提示

-r:将参数中列出的目录路和子目录均递归删除

-v:显示详细进行的步骤

例如:

rm -rf *.log:删除任何.log文件并且不询问用户

touch 创建一个新文件

  • touch a.txt:创建了一个 a.txt 文件

mv 移动文件或者将文件改名

可以用来移动文件或者将文件改名,常用来备份文件或目录

例如:

mv log1.txt log.txt test3:将log1.txt、log2.txt移动到test3文件夹中

mv dir1 dir2:如果dir2不存在,则将dir1改名为dir2;如果dir2存在,则将dir1移入dir2中

mv * ../:移动当前文件夹下所有文件至上一级目录

mv test3/*.txt test5:将test目录下所有的.txt文件全部移动到test5文件夹下

cp 复制文件或目录

例如:

cp log.log test6:将log.log复制进入test6目录下

cat,主要有三个功能:

1、一次性显示整个文件

2、从键盘创建一个文件

3、将几个文件合并为一个文件

顺便提一句,tac这个命令和cat一样,无非是将文件内容从最后一行到第一行显示而已。

-E:在每行结束显示”$”

-n:对输出的所有行进行从1开始的编号

-s:对连续两行的空白行代替为一行

-T:将跳格字符(tab)显示为”^I”

例如:

cat -n log1.log log2.log:将log1.log加上行号后输入到log2.log文件中,log2.log在目录中必须存在

cat -n log1.log > log.log:将log1.log加上行号后输入到log.log文件中,log.log在目录中不存在

more 文件内容显示在屏幕上

类似cat,不过more不是将整个文件内容从上到下显示在屏幕上的,而是以一页一页的显示方便使用者逐页阅读。more最基本的指令就是space即往下翻一页,b即往回翻一页显示,而且还有搜索字符串的功能

+n:从第n行开始显示

-n:定义屏幕大小为n行

+/pattern:在每个档案显示前搜索该字符串patern,然后从该字符串前两行之后显示

-p:通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似

-s:把连续的多个空行显示为一行

-u:把文件内容中的下划线去掉

常用操作命令:

Enter:向下n行,需要定义,默认为1行

空格键:向下滚动一屏

b:向上滚动一屏

=:输出当前行号

V:调用vi编辑器

q:退出more

例如:

more +3 log1.log:从第3行起显示log1.log里面的内容

more +/day3 log1.log:从文件中查找第一个出现’day3’的字符串的行,并从该行前两行开始显示输出

more -5 log1.log:设定每屏显示行数

ls -l | more -5:more常与别的命令连用,一般是因为某些命令输出的内容太多,所以使用more来分页显示

diff 比较单个文件或目录内容

比较单个文件或目录内容,如果指定比较的是文件,则只有当输入为文本文件时才有效。以逐行的方式,比较文本文件的异同处。如果指定的是目录,diff命令会比较两个目录下名字相同的文本文件,列出不同的二进制文件、公共子目录和只在一个目录下出现的文件。

-b:不检查空格字符的不同

-B:不检查空白行

-i:不检查大小写的不同

-q:只显示有无差别,不现实详细信息

-y:以并排方式显式文件的异同处

-w:在使用参数-y时,指定栏宽

例如:

diff log1.log log2.log:比较两个文件,输出结果比如”3c3”和”8c8”表示两个文件在第三行和第8行有所不同,”11,12d10”表示第一个文件比第二个文件多了第11行、第12行。diff命令的normal格式模式显示三种提示,即a-add、c-change、d-delete

diff test3 test4:比较test3和test4两个文件夹的不同

diff log1.log log2.log -y -w 50:并排输出,并制定栏宽为50

追加>> 和 重定向 >

> 输出重定向、>> 追加

  • ls -l > a.txt :列表的内容写入文件(覆盖写)
  • ls -al >> a.txt:列表的内容写入文件(追加写)

echo 输出内容到控制台

  • echo 123
  • echo $PATH
  • echo abcd > 1.txt
  • echo 1234 >> 1.txt

head 显示文件开头内容

-n:显示多少行

–version:显示head的版本信息

  • head 文件名:查看文件前10行内容
  • head -n 5 文件名 :查看文件对的前 5 行

tail 用于显示指定文件末尾内容

不指定文件时,作为信息输入进行处理。常用查看日志文件

-f:不断读取,循环刷新,这样可以看到最新的文件内容

-q:不显示处理信息

-v:显示详细的处理信息

-c<数目>:显示的字节数

-n<行数>:显示的行数

例如:

tail -n 5 log1.log:显示log1.log最后5行的内容

tail -f log1.log:循环查看log1.log的内容

ln 创建一个软连接:快捷方式

  • ln -s 【原文件或目录】【软连接名】
  • rm -rf 软连接名:删除软连接

history 查看历史指令

  • 查看所有历史指令:history
  • 查看最近执行的10个指令:history 10
  • 执行历史指令为5号的指令: !5

which 搜索某个系统命令的位置

在PATH变量指定的路径中,搜索某个系统命令的位置,并返回第一个搜索结果。即,which命令可以看到某个系统命令是否存在以及执行的到底是哪一个位置的命令

二、Linux解压缩

tar 用来压缩和解压文件

tar本身不具备压缩功能,它是调用压缩功能实现的。

-c:建立新的压缩文件

-d:记录文件差别

-r:添加文件到已压缩的文件中

-x:从压缩的文件中提取文件

-t:显示压缩的文件内容

-z:支持gzip解压文件

-v:显示操作过程

-f:指定压缩文件

例如:

tar -cvf log.tar log1.log:仅把log1.log打包成log.tar,不压缩

tar -zcvf log.tar.gz log1.log:把log1.log打包成log.tar.gz,并指出gzip压缩

tar -ztvf log.tar.gz:查阅log.tar.gz中的内容,因log.tar.gz是以gzip压缩的,所以要加上z

tar -zcvf log30.tar.gz log1.log log2.log:把多个文件打包压缩成一个文件

tar -zxvf log30.tar.gz log2015.log:把log30.tar.gz中的log2015.log解压出来

gzip和gunzip

-d:解压缩

-l:对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字

-v:对每一个压缩和解压的文件,显示文件名和压缩比

-num:用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6

示例:

gzip 1.txt :会产生一个1.txt.gz文件、1.txt 原文件会删除

gunzip 1.txt.gz:产生一个1.txt文件,删除原文件。

说明:压缩文件后缀为 gz。

bzip2

命令 语法 参数 参数说明
bzip2 bzip2 [-cdz]
-d 解压缩
-z 压缩参数
-num 用指定的数字num调整压缩的速度,-1或–fast表示最快压缩方法(低压缩比),-9或–best表示最慢压缩方法(高压缩比)。系统缺省值为6

说明:压缩文件后缀为 bz2。

zip和unzip

zip 【选项】 xxx.zip:压缩文件和目录

-r:递归压缩,压缩目录

zip -r mypackage.zip /home/:对home目录下文件压缩成 mypackage.zip 包。

unzip:

-d 目录:解压后的文件的存放目录

unzip filename.zip

unzip -d /opt/tmp/ mypackage.zip:解压mypackage.zip 到 /opt/tmp/目录下。

三、Vi&Vim 文件内容编辑

Vi&Vim

运行模式

正常模式:打开一个文件就直接进去了正常模式(默认模式),等待编辑命令输入

插入模式:编辑模式下,输入 i 进入插入模式,插入文本信息

命令模式:在编辑模式下,输入 : 进行命令模式

命令

:q 直接退出vi

:wq 保存后退出vi ,并可以新建文件

:q! 强制退出

:w file 将当前内容保存成某个文件

命令行模式下:

yy 拷贝当前行

5yy 拷贝当前向下的 5 行

p 粘贴

dd 删除当前行

5dd 删除当前向下的 5 行

/关键字 回车进行查找,输入 n 查找下一个

:set number 在编辑文件显示行号

:set nonumber 在编辑文件不显示行号

G 跳转文件末行

gg 跳转文件首行

u 插入模式下 新增字符,命令行模式下 次命令 撤销 新增字符

n shift+g 光标移动到第n行

[图片上传失败...(image-621fbd-1564640377973)]

四、日期时间命令

date 显示当前日期 + 号不能少

  • date:Wed Feb 20 23:08:00 CST 2019
  • date “+%Y-%m-%d”:年月日
  • date “+%Y-%m-%d %H-%M-%S”:年月日 时分秒

设置日期

  • date -s “2019-02-20 11:11:11”

cal 指令查看日历指令

  • cal:查看当前月份日历
  • cal 2020:查看2020年所有日历

五、服务管理命令

服务的本质也是进程,是在后台运行的,通常会监听某个端口,等待其它程序的请求,又称之为–守护进程。

systemctl 【start|stop|restart|reload|status】 服务名

查看防火墙状态

  • systemctl status firewalld

关闭防火墙

  • systemctl stop firewalld

六、Linux进程管理

  • 在Linux中,每个执行的程序都称为一个进程,每个进程都分配一个ID。
  • 每一个进程,都有对应一个父进程,这个父进程可以复制多个子进程。
  • 每个进程都可能以两种方式存在:
    • 屏幕上可操作的
    • 后台运行

ps 显示系统执行的进程

ps 命令是用来查看目前系统中,进程相关信息。

字段 说明
PID 进程识别号
TTY 终端机号
TIME 此进程所消耗CPU 时间
CMD 正在执行的命令或进程名
  • ps -a:显示当前终端的所有进程信息
    • 5757 pts/1 00:00:00 ps
  • ps -u:以用户的格式显示进程信息
  • ps -x:显示后台进程运行的参数
  • ps -e:显示当前所有的进程
  • ps -f:全格式显示

ps -aux 参数说明

user 用户名
pid 进程号
%cpu 进程占用cpu的百分比
%mem 进程占用物理内存百分比
VSZ 进程占用虚拟内存大小 KB
RSS 进程占用物理内存大小 KB
TTY 终端名称,缩写
STAT 进程状态:S-睡眠。s-是会话的先导进程。N-进程拥有比普通进程更低的优先级。R-正在运行。D-短期等待。Z-僵死进程。T-被跟踪或被停止
START 进程的启动时间
TIME 进程使用cpu的总时间
COMMAND 启动进程所用的命令和参数,会被截断

终止进程

某个进程执行一半需要停止,或者消耗系统大量资源时,使用 kill 命令 终止进程。

基本语法

  • kill 【选项】 进程号
  • killall 进程名
  • -9 :强迫进程立即停止

实例

  • 踢掉某个非法登录用户
    • ps -aux | grep sshd
    • kill pid
  • 终止多个编辑器
    • killall gedit
  • 强制杀掉一个终端
    • kill -9 pid

查看进程树

pstree 【选项】

  • -p:显示进程的PID
  • -u:显示进程的所属用户

动态监控进程

命令:

top 【选项】

-d 秒数:指定 top命令每隔几秒更新,默认是 3秒

-i:使top不显示任何闲置或者僵死进程

-p:通过指定监控进程ID来仅仅监控某个进程的状态

交互操作

P【大写】:以cpu使用率排序

M【大写】:以内存的使用率排序

N【大写】:以PID排序

q:退出

监控网络状态

命令:netstat 【选项】

-an:按照一定顺序排列输出

-p:显示哪个进程调用

七、开关机命令

Shutdown

-t:单位:s,在 t 秒后关机。

-r:重启机器

-h:关机后停机

-c:取消shutdown指令

说明:不管关机还是重启、首先运行Sync命令,把内存中的数据写到磁盘中。

重启

  • reboot 重启
  • shutdown -r now 立刻重启
  • shutdown -r 10 10分钟后重启(root使用)
  • shutdown -r 20:35 在20:35重启

关机

  • halt 立刻关机
  • poweroff 立刻关机
  • shutdown -h now 立刻关机(root使用)
  • shutdown -h 10 10分钟后关机

你可能感兴趣的:(Linux常用命令)