【一、玩转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的水平,能够快速查找到最权威的一手资料。


相关文章
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
637 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
477 21
|
3月前
|
监控 Linux
Linux系统中使用df命令详解磁盘使用情况。
`df`命令是Linux系统管理员和用户监控和管理磁盘空间使用的重要工具。掌握它的基本使用方法和选项可以帮助在必要时分析和解决空间相关问题。简洁但功能丰富,`df`命令确保了用户可以快速有效地识别和管理文件系统的空间使用情况。
227 13
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总
|
2月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
420 0
|
2月前
|
Linux C++
每天一个linux命令(8):cp 命令
cp 命令是 Linux 中用于复制文件或目录的命令。它的名字来源于英文单词 copy。这个命令非常常用,特别是在需要备份文件或创建文件副本时。
91 0
|
3月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
3月前
|
Unix Linux
linux命令—cd
`cd` 命令是 Linux/Unix 系统中用于切换工作目录的基础命令。支持相对路径与绝对路径,常用选项如 `-L` 和 `-P` 分别处理符号链接的逻辑与物理路径。实际操作中,可通过 `cd ..` 返回上级目录、`cd ~` 回到家目录,或利用 `cd -` 在最近两个目录间快速切换。结合 Tab 补全和 `pwd` 查看当前路径,能显著提升效率。此外,需注意特殊字符路径的正确引用及脚本中绝对路径的优先使用。
|
3月前
|
Linux
Linux命令拓展:为cp和mv添加进度显示
好了,就这样,让你的Linux复制体验充满乐趣吧!记住,每一个冷冰冰的命令背后,都有方法让它变得热情起来。
259 8
|
4月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
273 32