Linux常用命令

如果会Linux,面试的时候会问一些常用的Linux命令,这篇文章就来汇总一下常用的Linux命令的常用方法。

1. mkdir命令创建目录

命令

mkdir (选项)(参数)

常用选项

-p 父级目录不存在,会自动迭代创建

实例

在当前目录下创建多层目录

mkdir -p test/test1/test2

使用绝对路径创建

mkdir -p /root/test/test1/test2

2. rm命令删除文件、目录

命令

rm (选项)(参数)

常用选项

-r 迭代删除目录文件
-f 强制删除,无需确认,新手慎用

实例

删除一个目录

rm -rf test2/

删除嵌套目录

rm -rf /root/test

删除一个文件

rm -rf test.txt

3. ls命令查看文件列表

ls命令是linux最常用的命令之一,经常结合cd命令查看当前目录或者指定目录下的文件列表。

命令

ls

格式

ls 参数 目录

常用命令

查看当前目录下所有文件

ls -a

参数:-a 展示所有文件包括隐藏文件(.开头的文件)

列表形式展示当前目录下所有文件

ls -l

参数:-l 以列表的形式显示目录下的文件列表

指定文件大小单位显示文件列表

ls -l --block-size=M

在这里插入图片描述
参数:–block-size=m 单位包括K, M, G, T, P, E, Z, Y;由于采用进一法,导致展示文件大小时误差较大,不推荐使用

以更易读形式展示文件大小列表

ls -hl

在这里插入图片描述
参数:-h 以更易读的方式展示文件大小

4. cd命令切换目录

命令

cd

格式

cd 参数 目录

常用命令

切换到指定目录/home

cd /home

切换到当前用户目录

cd ~

切换到上一层目录

cd ..

切换到相对于当前目录下的指定路径

cd ./home

切换到隐藏目录下

cd .test

5. tree命令显示目录结构

安装tree命令

yum install tree -y

显示当前目录下的一级目录结构

tree -L 1

在这里插入图片描述
目录信息说明

bin: 系统常用命令所在目录
boot: 系统启动相关的文件
dev: 存放外设的文件
etc: 默认程序、系统的配置文件路径
home:默认新建用户登录后所在的目录
lib/lib64: 程序所有依赖的so库所在目录
media:系统自动识别的设备
mnt:用户临时挂载目录
opt:给系统额外安装的软件,存放目录
proc:内核运行时相关文件
root:root用户的家目录
run:pid 文件所在目录
sbin:root用户常用命令
srv:系统产生的数据
sys:操作系统相关的文件
usr: 用户应用程序安装目录
var:系统产生的不可销毁的缓存文件与日志文件
tmp:可销毁的临时文件
/: 根目录

6. tar命令压缩与解压缩

tar命令介绍

tar命令是linux非常使用频率非常高的一个命令,比如:离线软件包的解压缩、将一个目录打包备份、将一个压缩包解压到一个指定的目录。tar命令主要用来将一个或者多个目录以及一个或者多个文件打包到一个以后缀为tar的文件里,同时也可以将归档的文件压缩成以tar.gz结尾的文件。可以将一个tar或者tar.gz结尾的文件解压到指定的目录下。使用不带界面的linux系统时,使用频率更高,是必须掌握的一个命令。

tar命令格式

解压缩命令

tar -zxvf test.tar.gz

压缩命令

tar -zcvf test.tar.gz ./

tar命令的常用参数

 -c, --create               创建一个新归档
 -x, --extract, --get       从归档中解出文件
 -f, --file=ARCHIVE         使用归档文件
 -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
 -C, --directory=DIR        改变至目录 DIR
 -v, --verbose              详细地列出处理的文件

将当前目录下的所有文件压缩

tar -zcvf test.tar.gz ./

命令说明:

test.tar.gz 目录被压缩后的文件名字
./ 代表被压缩的目录,压缩当前目录
-zcvf 参照上边的参数说明

将压缩文件解压到当前目录下

tar -zxvf test.tar.gz

说明:

test.tar.gz 将要被解压的备份文件
-zxvf 参数参照上边的参数说明,压缩与解压的唯一区别就是解压参数为x,压缩参数为c
解压后的路径,默认为当前路径

将备份文件解压到指定路径下

 tar -zxvf test.tar.gz -C /home/

说明:

test.tar.gz 将要被解压的备份文件
-zxvf 参数参照上边的参数说明,压缩与解压的唯一区别就是解压参数为-x,压缩参数为-c
-C解压到指定路径/home下

将指定目录下的文件打包,不包含目录结构

tar -zcvf test.tar.gz -C /home/testDir/ .

说明:

test.tar.gz 压缩后的文件名字
-zxvf 参数参照上边的参数说明,压缩与解压的唯一区别就是解压参数为-x,压缩参数为-c
-C 压缩时,使用相对路径,不包含目录结果 /home/testDir/. 压缩相对目录后的所有文件

7. grep命令查找

grep 命令介绍

grep 查找文件里符合条件的字符串,常与管道符|、cat、ps一起使用;主要用于查找文件中符合条件的字符串、统计文件中符合条件的字符串行数、grep 不显示自身进程

grep 常用命令参数

-c:统计符合字符串条件的行数 -v:显示不包括文本的所有信息

grep 常用命令

过滤test.txt文件中hello内容

grep hello test.txt

说明:

hello 关键字
test.txt 文件名

统计test.txt中hello内容的行数

grep -c hello test.txt

说明:

hello 关键字
test.txt 文件名
-c 统计符合字符串条件的行数

grep、cat、管道符配合使用

cat test.txt |grep hello

说明:过滤test.txt文件中hello内容

hello 关键字
test.txt 文件名
cat 打印文件内容
|管道符,将一个命令的输出作为另外一个命令的输入

grep、ps、管道符配合使用

ps -ef|grep ssh

说明:过滤ssh进程信息

ps 打印进程信息
ssh 过滤关键字
|管道符,将一个命令的输出作为另外一个命令的输入

去掉grep自身进程

ps -ef|grep ssh|grep -v grep

说明:过滤ssh进程信息,并去除最后一行的grep信息

ps 打印进程信息
ssh 过滤关键字
|管道符,将一个命令的输出作为另外一个命令的输入
-v 显示排除grep关键字的所有信息

8. lsof命令查看对应端口的pid

命令

lsof #查看端口对应的pid,通过kill -9杀死对应的进程

格式

lsof 参数

常用命令

列出所有的网络连接

lsof -i

查看指定端口22的pid

lsof -i :22

查看指定用户打开的应用信息

lsof -u root

9. find命令查找文件

命令

find

说明

在指定目录下查找文件
-name: 指定文件名
-iname: 指定文件名,忽略大小写
.: 表示当前目录,可省略,换成绝对路径或者相对路径就可以根据指定路径查找文件。例如:/root
*.tar.gz: 模糊匹配

使用

在当前目录下查找具体文件名的文件

find . -name snmp.tar.gz

在当前目录下查找指定后缀的文件

find . -name "*.tar.gz"

在当前目录下查找具体文件名的文件,忽略文件名的大小写

find . -iname snmp

在指定的路径下查找文件

find /root -name snmp.tar.gz

10. chmod命令更改文件权限

命令

chmod (选项)(参数)

常用选项

-R 迭代修改目录及其子目录文件权限

参数说明
在这里插入图片描述
实例

修改单个文件权限

chmod 755 test

在这里插入图片描述

迭代修改目录及目录下文件权限

chmod -R 755 /root/test

在这里插入图片描述

11. chown命令修改文件或目录的所属组或者用户

命令

chown (选项)(参数)

常用选项

-R 迭代修改目录及其子目录文件所属用户、组

实例

修改文件所有者

chown nginx test

迭代修改目录及目录下文件所有者

chown -R nginx /root/test

修改文件所属组

chown :nginx test

在这里插入图片描述
同时修改文件所有者以及文件所属组

chown root:root test/

在这里插入图片描述

12. ps命令查看进程

命令

ps

常用参数:

-A:显示所有进程
-a:不与terminal有关的所有进程
-u:有效用户的相关进程
-x:一般与-a一起用,列出完整的进程信息
-l:long,详细列出PID的信息
## ps用法
ps Aux 	# 查看系统所有的进程数据
ps ax	

在这里插入图片描述

13. kill命令杀进程

常用参数

-SIGHUP:启动被终止的进程
-SIGINT:相当于ctrl+c,中断进程
-SIGKILL:强制中断进程
-SIGTERM:以正常的结束进程方式来终止进程
-SIGSTOP:相当于ctrl+z,暂停进程
## kill用法
kill -SIGKILL 10876	# 强制中断PID=10876的进程(PID可以通过ps查到,有时可以加上| grep进行筛选)
kill -9 10876  

14. pwd命令查看”当前工作目录“的完整路径

pwd显示的是连接路径
pwd -P # 显示出实际路径,而非使用连接(link)路径;

在这里插入图片描述

15. scp命令远程拷贝文件

和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。

常用参数

scp [参数] [原路径] [目标路径]

-1 强制scp命令使用协议ssh1 
-2 强制scp命令使用协议ssh2 
-4 强制scp命令只使用IPv4寻址 
-6 强制scp命令只使用IPv6寻址 
-B 使用批处理模式(传输过程中不询问传输口令或短语) 
-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能) 
-p 保留原文件的修改时间,访问时间和访问权限。 
-q 不显示传输进度条。 
-r 递归复制整个目录。 
-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。 
-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。 
-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。 
-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。 
-l limit 限定用户所能使用的带宽,以Kbit/s为单位。 
-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式, 
-P port 注意是大写的P, port是指定数据传输用到的端口号 
-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

实例

在这里插入图片描述

16. ssh命令用于远程登录上Linux主机

参数

ssh [-l login_name] [-p port] [user@]hostname

使用示例
在这里插入图片描述

17. JPS工具

jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。

常用的参数

jps -q  # 只显示pid,不显示class名称,jar文件名和传递给main 方法的参数
jps -m  # 输出传递给main 方法的参数,在嵌入式jvm上可能是null
jps -l  # 输出应用程序main class的完整package名 或者 应用程序的jar文件完整路径名
jps -v  # 输出传递给JVM的参数

使用示例

jps
23991 Jps
23789 BossMain
23651 Resin

版权声明:本文为weixin_44052055原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。