【一、玩转shell命令】Linux常用shell命令(及相关知识)详解与用法演示(三)

简介: 【一、玩转shell命令】Linux常用shell命令(及相关知识)详解与用法演示

五、查找及检索相关命令

(1)find查找

① 按名称查找

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

② 按类型查找

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

③ 按大小查找

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

④ 指定最深路径

-maxdepth

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

-exec 选项

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

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

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

-ok 选项

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

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

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

③ 使用管道 |

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

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

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

(3)grep筛选

① 筛选信息

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

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

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

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

③ 搭配find使用

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

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

(1)zip压缩与unzip解压

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

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

zip -r 1.zip aa 1111.txt

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

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

解压命令

unzip 1.zip

(2)gzip压缩和gunzip解压

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

(3)tar命令

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

① 首先介绍选项参数:

-c 压缩文件

-x 解压文件

-f 指定压缩文件名

-v 显示信息

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

② 压缩一个文件

③ 压缩为gz格式并解压

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

解压gz文件

-j 压缩为bzip2 格式

(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 命令安装软件,同样需要连网,直接通过软件名下载安装。

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

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查看登陆设备

查看登陆设备

(2)ps查看进程信息

ps auxps ajx

(3)kill杀死进程

#pid表示进程号
kill -9 pid

(4)env环境变量

(5)top查看系统信息

q 键退出

2. 网络命令

(1)ifconfig

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

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

(2)ping

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

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

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

ping 192.168.80.0

(3)nslookup

通过域名得到IP

(4)netstat

查看网络连接状态

九、用户管理命令

1、用户管理

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

(1)useradd增加用户

选项:

-g :指定组

-d :指定用户家目录

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

我们现在增加一个用户Q

(2)groupadd增加组

增加一个Q用户组

sudo groupadd Q

(3)passwd设置密码

passwd修改密码

(4)su切换用户

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

切换到用户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的水平,能够快速查找到最权威的一手资料。


相关文章
|
10天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
6天前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
60 32
|
29天前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
56 20
|
23天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
35 11
|
1月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
66 12
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
216 20
|
2月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
145 8
|
9月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
【Linux操作系统】探秘Linux奥秘:shell 编程的解密与实战
127 0
|
9月前
|
Shell Linux C++
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
Linux C/C++ 开发(学习笔记二):Shell脚本编程案例
137 0
|
9月前
|
运维 Shell Linux
Linux 之大数据定制篇-Shell 编程
Linux 之大数据定制篇-Shell 编程
212 0