Linux指令详解、面试常用指令

目录

一、系统管理相关

top命令

 ps命令

kill命令

shutdown命令

reboot命令

who命令

clear

二、目录相关

ls命令

pwd命令

cd命令

rmdir命令

cp命令

mv命令

chown命令

chmod命令

三、文件管理相关

touch命令

vi与vim命令

查看文件

echo 命令

awk命令

ln软连接命令

find命令

四、Linux备份压缩

gunzip命令

tar命令

unzip命令

bzip2命令


一、系统管理相关

top命令

在企业级开发中,开发人员(运维人员也会经常使用)常常为了查看服务器上运行的程序占用的CPU情况以及占用内存情况,目的就是检测我们的程序是否在正常范围内运行,持续查看的一个过程

语法:top (参数)

参数列表:

  • -c 显示完整的命令
  • -p (进程号) 显示指定进程的信息

列名介绍:

  • PID — 进程id
  • USER — 进程所有者
  • PR — 进程优先级
  • NI — nice值。负值表示高优先级,正值表示低优先级
  • VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  • RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  • SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  • %CPU — 上次更新到现在的CPU时间占用百分比
  • %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行)

 ps命令

查看瞬时间的进程信息

 语法:ps(参数)

 参数列表:

  • 不加参数 展示正在进行的进程
  • -p (进程号) 查看指定进程信息
  • -A 显示所有的进程信息
  • -u (用户名) 查看指定用户信息
  • -ef  查看进程全面的信息.
  • a  显示用户下的进程信息
  •  u  以用户为主的格式来显示程序状况
  •  x  显示所有程序,不以终端机来区分

用法:

ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
列出了进程id, 线程id和cpu占有率,同时按照cpu占有率排序

列名介绍:

  • UID:用户ID,实际输出的是用户名,如root
  • PID:当前进程的ID
  • PPID:当前进程的父进程ID
  • C:当前进程占用的CPU的百分比
  • STIME:当前进程启动到现在的时间
  • TTY:当前进程在哪个终端上运行,若与进程无关,则显示为?,若为pts/0等,则表示由网络连接主机进程。
  • CMD:命令的名称和参数

kill命令

用于杀死进程

语法:kill (参数) 【进程号】

参数列表:

不加参数 直接杀死进程,但是可能会出现杀不死的现象

-9 强制杀死进程

killall -u 【用户名】 杀死指定用户下的所有进程

shutdown命令

shutdown命令可以用来进行关闭系统,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机

语法:shutdown [-t seconds] [-rkhncfF] time [message]

参数说明:

  • -t seconds : 设定在几秒钟之后进行关机程序。
  • -k : 并不会真的关机,只是将警告讯息传送给所有使用者。
  • -r : 关机后重新开机。
  • -h : 关机后停机。
  • -h now : 立即关机
  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机。
  • -c : 取消目前已经进行中的关机动作。
  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)。
  • -F : 关机时,强迫进行 fsck 动作。
  • time : 设定关机的时间。
  • message : 传送给所有使用者的警告讯息

reboot命令

reboot命令用于用来重新启动计算机

语法:reboot [-n] [-w] [-d] [-f] [-i]

参数说明:

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作
  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
  • -f : 强迫重开机,不呼叫 shutdown 这个指令
  • -i : 在重开机之前先把所有网络相关的装置先停止

who命令

用于查看当前系统中还有谁在使用虚拟机,避免关机造成其他人无法使用的尴尬场面

语法:who -H         展示标题与在线用户信息

clear

clear命令用于清除屏幕,直接使用

二、目录相关

ls命令

查看文件夹下的目录与文件

语法:ls [选项]  目录名称

参数列表:

  • -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
  • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
  • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)    等同于ll指令

ll指令如下

可以查看文件夹下文件的详细信息, 从左到右 依次是:

  • 权限:第一个字符如果是 d 表示目录
  • 硬链接数:通俗的讲就是有多少种方式, 可以访问当前目录和文件
  • 属主:文件是所有者、或是叫做属主
  • 属组:文件属于哪个组
  • 大小:文件大小
  • 时间:最后一次访问时间
  • 名称:文件的名称

pwd命令

当前位置的路径,直接使用即可

cd命令

 进行路径的切换,后面可以跟着绝对路径或者相对路径

mkdir命令

创建文件夹

语法:mkdir (参数) 【目录名】

参数列表:

  • -p  确保目录名称存在,不存在的就建一个

rmdir命令

删除文件夹

语法:rmdir (参数)【目录名】

参数列表:

-p 删除指定文件夹,如果删除子文件夹之后的父文件夹也为空,则一起删除掉,但是必须级联删除

cp命令

复制文件或者目录,复制目录必须配合-r使用

语法:cp (参数) 【source】 【directory】

参数列表:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r/R:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。

rm命令

删除文件或者目录,如果是删除目录要配合-r使用

语法:rm (参数) 【文件或者目录名字】

参数列表:

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

mv命令

用于将目录或文件移动到新的路径

语法:mv (参数) 【文件或者目录名字】

参数列表:

  • -i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
  • -f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示;

 文件重命名

 1、mv oldname.txt newname.txt 

chown命令

修改文件或目录的属主和属组

语法:

  • chown [–R] 属主名 文件名
  • chown [-R] 属主名:属组名 文件名

chmod命令

Linux文件属性有两种设置方法,一种是数字,一种是符号

Linux的文件调用权限分为三级 : 文件属主、属组、其他。利用 chmod 可以控制文件如何被他人所调

如果要通过chmod修改目录的权限,要配合-R 表示将目录内的文件也修改权限

如下图红框所示

在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。

  • 当为[ d ]则是目录
  • 当为[ - ]则是文件;
  • 若是[ l ]则表示为链接文档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

 参数列表:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
  • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

实例:

将w.txt文件的属主、属组的权限设置为可读可写可执行,其他设置为无权限

owner(user) = rwx = 4+2+1 = 7、  group = rwx = 4+2+1 = 7  、 others= --- = 0+0+0 = 0

方式一:chmod 770 w.txt

方式二:chmod  u=rwx,g=rwx,o=-  w.txt

三、文件管理相关

touch命令

touch命令用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

语法:touch (参数) 【文件名】

参数列表:

  • -c   尝试打开一个文件,如果不存在则不创建新的文件

使用 touch 创建批量空文件(t1.txt-t10.txt):touch t-{1..10}.txt   

vi与vim命令

使用vi/vim其实就相当于我们在Windows系统中创建文件、打开文件、编辑文件、保存文件操作

vi/vim模式主要分为以下三种:

  • 命令模式:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
  • 编辑模式:在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
  • 末行模式:在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。

vim定位行

在日常工作中,有可能会遇到打开一个文件,并定位到指定行的情况
例如: 在开发时, 知道某一行代码有错误,可以快速定位到出错误代码的位置
这个时候,可以使用以下命令打开文件


语法:vim 【文件名】 +n                      打开文件定位到第n行

vim异常处理

如果 vim异常退出, 在磁盘上可能会保存有 交换文件

下次再使用 vim 编辑文件时, 会看到以下屏幕信息

解决方案:

将后缀名为.swp的文件删除即可恢复

在末行模式下指令:

  • :q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
  • :q! 当vim进入文件对文件内容有操作但不想保存退出
  • :wq 正常保存退出
  • :wq! 强行保存退出,只针对与root用户或文件所有人
  • :set number 显示行号
  • :/s  向下查找s
  • :?s 向上查找s
  • x 删除光标所在字符
  • dd   剪切当前行(注意:是不加冒号的,点击键盘esc后dd就删除当前行
  • dnd  剪切包括当前行在内往下数共n行,例如d2d,删除当前行加上下一条,也就是两行
  • yy   复制行 
  • p     粘贴
  • r     替换当前字符      
  • R   持续替换字符,从当前字符开始一直往下替换,直到输入esc
  • >> 向右缩进
  • << 向左缩进
  • . 重复当前命令
  • * 向后查找当前光标所在单词
  • # 向前查找当前光标所在单词
  • gg 跳转到文件顶部
  • G 跳转到文件末尾
  • O 新一行
  • ^  行首
  • $ 行末
  • :数字   跳转到数字对应的行数
  • u 撤销指令 类似后退
  • ctrl r  恢复撤销的指令  类似前进

查看文件

序号命令对应英文作用
01cat 文件名concatenate查看小文件内容
02less -N 文件名less分频 显示大文件内容
03head -n 文件名查看文件的前一部分
04tail -n 文件名查看文件的最后部分
05grep 关键字 文件名grep根据关键词, 搜索文本文件内容

cat命令

cat会一下文件的所有内容 ,不建议打开太大的文件,会卡死

使用方法:

  • 查看a.txt文件                        : cat a.txt 
  • 查看a.txt文件,带行号          : cat -n a.txt     

grep命令

类似于关键字查找

使用方法:

搜索a.txt中存在关键字【aaaa】的行                      :grep aaaa   a.txt   

搜索a.txt中存在关键字【aaaa】的行 显示行号       :grep -n  aaaa   a.txt   

忽略大小写搜索存在【aaaa】的行                          :   grep -i  aaaa   a.txt 

搜索不存在关键字【aaaa】的行                              :   grep -v  aaaa   a.txt 

查找指定进程信息【mysql】                                    :    ps -ef |grep  mysql

tail命令

用于查看末尾的数据,可以查后面几条,也可以查从第几条到末尾

使用方法:

动态查看a.txt中后面的数据                                         :tail -f a.txt 

动态查看a.txt中后面10条数据(不间断,会一直监控):tail  -10f a.txt

查看a.txt中后面10条的数据                                         :tail -10 a.txt

查看a.txt中从第2条到最后10条的数据                         :tail  -n +2  a.txt

less命令

less命令也是查看文件的,只不过它适合查看 内容较多的文本文件,它也可以用于分屏显示文件内容,  每次只显示一页内容,有点类似我们做分页查询,less是不预先挂载整个文件的,访问到才加载,而more是挂载整个文件

语法:less  【文件名】

less内的操作

  • 输入【j】可以前进行
  • 输入【k】可以后退行
  • 输入【G】可以 移动到最后一行
  • 输入【g】可以移动到第一行
  • 输入【ctrl + F】 向前移动一屏(类似于我们在浏览器中的数据分页的下一页)
  • 输入【ctrl + B】 向后移动一屏(类似于我们在浏览器中的数据分页的上一页)
  • 输入【ctrl + D 】 向前移动半屏
  • 输入【ctrl + U】 向后移动半屏
  • 输入【j 】 向前移动一行,键盘向下方向键也可以
  • 输入【k】向后移动一行,键盘向上方向键也可以
  • 输入【q / ZZ】 退出 less 命令
  • /str   查找文件中str的行

echo 命令

echo命令有点类似于我们在java se阶段学习的 System.out.print("hello")
但是,echo还有一个功能就是追加文件内容到文件,类似于我们在java se阶段学习的append文件流写入一样

用法:

  • echo 【字符串】   将字符串输出到控制台,如果有空格,为避免歧义,要使用双引号
  • echo 【字符串】  > 【文件名】  将字符串的内容覆盖到文件中
  • echo  【字符串】  >> 【文件名】  将字符串的内容追加到文件中
  • 【命令】 &>> 【文件名】  将命令失败的结果追加到文件中     cd  snudw(不存在)  &>> a.txt

awk命令

AWK是一种处理文本文件的语言,是一个强大的文本分析工具。有字符串分割、分段输出等多种功能,这里只展示一个比较常用的

用法:cat a.txt | awk '/zhang|ww/'   查找a.txt中含有zhang或者含有ww的行

ln软连接命令

软连接其实就类似于我们在Windows中的【快捷方式】,由于有些文件的路劲过深,造成每次打开的时候都很困难,因此通过软连接简化打开方式

用法:ln -s  文件路径  软连接路径    

例:ln -s /log/my.log   /mlog       创建完毕之后通过cat /mlog也能查看my.log文件

find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示

用法:

  • find . -name "*.gz" 将目前目录及其子目录下所有延伸档名是 gz 的文件查询出来   
  •  find / -name  'czbk'  全盘搜索czbk目录也可以搜索文件夹
  • find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
  • find / -atime -2   # 查找在系统中最后48小时访问的文件
  • find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
  • find / -mtime -1   #查找在系统中最后24小时里修改过的文件
  • find / -size +5M        #查找大于5M的文件
  • find / -type f             #查找文件类型为普通文件的
  1. d: 目录
  2. c: 字型装置文件
  3. b: 区块装置文件
  4. p: 具名贮列
  5. f: 一般文件
  6. l: 符号连结
  7. s: socket

              

四、Linux备份压缩

gzip命令

gzip命令用于压缩文件。

gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名

语法:gzip 【参数】 【文件或者目录】

参数列表:

  • -d 解压缩
  • -v 显示压缩过程
  • -c 压缩到新文件,保存源文件   

例如  gzip -c a.txt   >> a.txt.gz              其中 使用> 是覆盖  使用>>是追加

  • -r 压缩目录

gunzip命令

gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件

用法:gunzip  【文件名】     等同于 gzip -d 【文件名】

tar命令

tar的主要功能是打包、压缩和解压文件。

tar本身不具有压缩功能。他是调用压缩功能实现的 。

语法:tar 【参数】 【打包名】 【文件,可写多个】

参数列表:

打包:

  • -c 打包
  • -v 展示打包过程
  • -f 指定打包名通常用.tar后缀
  • -z 通过调用gzip进行压缩

解打包:

  • -x 解打包
  • -v 展示解打包的过程
  • -f  指定压缩包的名字
  • -z通过调用gunzip进行解压缩        
  • -t 这个参数不能和-x同时出现,表示仅仅是测试,为了查看有哪些文件,并不真的解打包

zip命令

zip命令就完全的相当于在Windows下面选中文件右键进行压缩了

文件经它压缩后会另外产生具有".zip"扩展名的压缩文件。

指令:zip 【参数】【压缩名】 【文件或者目录】

参数列表:

  • -q  不展示压缩过程
  • -r 压缩目录

unzip命令

unzip为.zip压缩文件的解压缩程序

语法:unzip 【参数】  【指定解压到目录】 【解压文件】

参数列表:

  • 不加参数直接解压
  • -l 查看压缩包里的信息,包括文件等,不解压
  • -d 如果需要指定解压到目录,必须要配合-d使用

bzip2命令

.bz2格式是Linux中的另一种常用压缩格式,该格式的压缩算法更先进,压缩比更高,但是压缩的时间要比.gz长,.bz2格式的压缩命令是bzip2,bzip2不能压缩目录

压缩 :bzip2 【文件名】

解压: bunzip2 【文件名】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值