Linux常用shell命令(三)

举报
mindtechnist 发表于 2023/05/11 15:26:15 2023/05/11
【摘要】 五、查找及检索相关命令(1)find查找① 按名称查找-name 选项,比如查找所有C文件,可以用 * 适配名称。② 按类型查找-type 选项,这里的类型是指 f 普通文件 d 目录 ,可通过man查看。比如查找所有目录文件:③ 按大小查找-size 选项,比如查找大于0M,小于3M的文件④ 指定最深路径-maxdepth(2)-exec、-ok选项和xargs① -exec 选项exec...

五、查找及检索相关命令

(1)find查找

① 按名称查找

-name 选项,比如查找所有C文件,可以用 * 适配名称。

image

② 按类型查找

-type 选项,这里的类型是指 f 普通文件 d 目录 ,可通过man查看。比如查找所有目录文件:

image

③ 按大小查找

-size 选项,比如查找大于0M,小于3M的文件image

④ 指定最深路径

-maxdepth

image

(2)-exec、-ok选项和xargs

-exec 选项

exec函数族会在Linux进程编程讲解,这里使用exec是把前面的执行结果传给后面的指令去执行,比如我们执行这样一条命令:

find -maxdepth 1 -size -1M -exec ls -l {} \;

image

这个命令的意思是,递归一层子目录查找小于1M的文件并显示详细信息 ,exec的作用是把 find -maxdepth 1 -size -1M 指令的结果传递给后面的指令 ls -l 去执行。

-ok 选项

find -maxdepth 1 -size -1M -ok ls -l {} \;

image

-ok-exec 的作用一样,都是把前面指令的结果传递给后面的指令去执行,只不过 -ok 是一种安全模式,每一条都会询问。这个选项在删除时应优先使用,可以防止误删重要文件。

find -maxdepth 1 -size -1M -ok rm -r {} \;

③ 使用管道 |

管道配合xargs实现查找并显示详细信息

find -maxdepth 1 -size -1M | xargs ls -l

image

这里注意,exec是把前面的结果一下子全部传给后面去执行,如果前面的结果太多,可能会造成后面指令溢出,使用xargs会把前面的结果分成很多部分,按块传给后面的指令。

(3)grep筛选

① 筛选信息

比如在aa目录及所有子目录中筛选"main",并显示"main"所在的行号

image

cat 3.c | grep main 查看3.c文件并筛选出main

image

cat 3.c | grep -v main 查看3.c文件并排除出main

image

可以看到,在查看3.c文件的同时把 int main() 这句话排除掉了。

③ 搭配find使用

比如查找普通文件并且筛选出txt类型的文件

image

六、压缩文件管理相关命令

(1)zip压缩与unzip解压

zip和unzip命令对应的是 .zip 类型的压缩包。

zip -r 压缩并递归压缩子目录,比如

zip -r 1.zip aa 1111.txt

会把aa以及aa的所有子目录和1111.txt一块压缩为1.zip。

image

压缩后得到一个 .zip 压缩文件

image

解压命令

unzip 1.zip

(2)gzip压缩和gunzip解压

gzip和gunzip命令对应的是 .gz 类型的压缩包,它的特点是只能压缩文件,不能压缩目录。

(3)tar命令

这是最常用的压缩解压缩命令,推荐优先使用。

① 首先介绍选项参数:

-c 压缩文件

-x 解压文件

-f 指定压缩文件名

-v 显示信息

-z 压缩为 .gz 格式,默认压缩为 .tar 格式

② 压缩一个文件

image

③ 压缩为gz格式并解压

image

因为 -v 的存在,在压缩时会显示压缩信息。

解压gz文件

image

-j 压缩为bzip2 格式

image

(4)rar压缩包

a 压缩

x 解压缩

rar a -r 1111 1111.txt

把1111.txt压缩为1111并自动添加后缀名。

rar x 1111

解压压缩包。

七、软件安装与卸载命令

(1)apt-get命令

需要连网并直到软件名,用于Ubuntu等

#安装tree软件
apt-get install tree
#卸载tree软件
apt-get remove tree
#更新源,即更新/etc/apt下的sources.list文件
sudo apt-get update
#清理包
sudo apt-get clean

(2)yum命令

如果是CentOS操作系统,要用 yum 命令安装软件,同样需要连网,直接通过软件名下载安装。

如果遇到这个错误,可以通过命令行输入下面的命令解决

image

sed -i.old -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror.centos.org\/centos\/$releasever\//baseurl=http:\/\/vault.centos.org\/centos\/6\//g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all

具体请见第二章,(1)tree命令安装及使用,有详细说明。

#安装软件
yum install tree
#卸载软件
yum remove tree

(3)dbkg根据安装包安装

dbkg 命令不需要连网,只要有 deb 安装包即可

#根据安装包安装软件
sudo dbkg -i tree.deb
#移除软件包
sudo dbkg -r tree.deb

(4)源码安装

一般步骤如下:

① 解压源码包;

② cd dir 进入目录;

③ ./configure 执行配置文件,检测文件是否缺少,创建Makefile,检测编译环境;

④ make 编译源码,生成可执行文件和库;

⑤ sudo make install 执行安装;

⑥ sudo make distclean 删除与卸载软件;

八、进程管理与网络命令

1. 进程管理命令

更多进程的信息将会在进程编程篇讲解。

(1)who查看登陆设备

查看登陆设备

image

(2)ps查看进程信息

ps auxps ajx

image

image

(3)kill杀死进程

#pid表示进程号
kill -9 pid

(4)env环境变量

image

(5)top查看系统信息

q 键退出

image

2. 网络命令

(1)ifconfig

ifconfig是我们最常用的网络命令之一,可以查看IP等信息,其中 eth0 表示本地第一块网卡。

image

图中标出的就是本机的IP,如果需要远程登陆本机或者与本机通信就用这个IP。

(2)ping

这也是一个常用的网络命令,可以测试网络是否连通,可以直接加域名测试网络是否连通

image

下面一直在发东西,说明网络连通了,但是他会一直发,除非手动 ctrl+c 终止,或者通过 -c 选项限制次数,比如只ping4次,4次后他就会自动停止

image

也可以ping一个IP,来测试两台主机是否连通

ping 192.168.80.0

(3)nslookup

通过域名得到IP

image

(4)netstat

查看网络连接状态

image

image

九、用户管理命令

1、用户管理

这里的命令都要加 sudo 管理员权限

(1)useradd增加用户

选项:

-g :指定组

-d :指定用户家目录

-m :家目录不存在时自动创建

我们现在增加一个用户Q

image

(2)groupadd增加组

增加一个Q用户组

sudo groupadd Q

(3)passwd设置密码

passwd修改密码

image

(4)su切换用户

将root用户切换为新建的Q用户,并使用 whoami 查看当前用户,可以看到 @ 前面的root也变成了Q,说明现在是Q用户。

image

切换到用户Q并带有环境变量

sudo - Q

切换到root用户

sudo su

如果在做这些操作的时候不是在root用户下,那么就要输入密码进行操作。

(5)userdel删除用户

#删除用户Q
sudo userdel Q
#删除用户Q以及它的家目录
sudo userdel -r 

2、关机命令

关机开机挺麻烦的,这里的命令就不演示了,直接摆上命令。

(1)shutdown关机

立即关机

shutdown -h now

(2)poweroff关机

poweroff

(3)init 0关机

init 0

(4)reboot重启

reboot

总结

Linux基础命令篇结束,Linux命令要多用多查,学习Linux命令最好的资料就是man,学会如何有效利用man会大大提高Linux的水平,能够快速查找到最权威的一手资料。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。