linux学习笔记 超详细 0基础(下)shell

shell是一个命令解释器,为我们提供了交互式的文本控制台界面,我们可以通过终端控制台来输入命令,由shell解释并交给linux内核执行。

Shell是一个解释器,Unix下的Bourne Shell命令解释器的加强版Bourne Again Shell ,bash shell是其中一个发行版解释器,还有debian下的dash,在bin目录下有很多sh的命令,要根据操作的类型去进行学习。

帮助命令:man

man 命令:查看命令的具体操作

man ls:查看ls的基本使用方法

还有一些基础功能的系统内置命令,例如cd exit 这些是随着shell直接加载到常驻系统内存的(使用help查看),其他的一些命令被称为外部命令。可以使用type 命令来判断是什么命令。显示是shell...就是内嵌命令,显示其他的就是外部命令。

外部命令也可以用“命令 --help”来看信息

常用命令:ctrl+c 停止进程

Ctrl+L 清屏

文件目录类

pwd:打印工作目录,显示当前所在的绝对路径

cd :切换路径

cd- :在两个路径之间跳转

ls :列举当前目录下的全部内容 -a 列举全部文件包括隐藏文件等等 -l 列举文件的属性权限 大小等

创建删除文件夹

mkdir a:创建文件夹名字是a

mkdir a b c :创建文件夹a 和b 和c

mkdir a a/b :创建文件夹a 在文件夹a下创建文件夹b

mkdir -p a/b :创建文件夹a 在文件夹a下创建文件夹b

rmdir a : 删除a文件夹 a为空文件夹

复制文件或文件夹

touch a : 创建一个文件

cp source dest :复制source到dest目录下

cp source dest/b :复制source文件到dest路径下的b文件 直接覆盖b文件

cp -r source dest :复制source文件夹到dest目录下

删除文件夹或目录

rm -f deleteFile:直接删除文件a

rm -rf a/ :删除文件夹a下的所有文件

rm -rf /* :删除根目录下所有的文件内容,不要尝试!!! 、、

mv 移动文件与目录或者重命名

mv /temp/movefile /target : 移动movefile文件到/target下

mv /temp/movefile /target/newmovefile :移动movefile文件到/target下 并重命名文件为newmovefile

mv name newName :重命名name变成newName

cat

cat 文件名字: 查看文件内容 适合查看文件内容不多的文件

cat -n 文件名字:查看文件内容并显示行号

more 文件内容分屏查看器

more 指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本的文件内容,指令中设置了若干快捷键

space 翻页

Enter 下一行

b 向前翻页

= 查看当前在第几行

less 用来分屏查看文件内容,功能与more类似但是比more更加强大,支持各种显示终端,在显示文本内容时并不是全部加载进来而是根据显示需要加载内容

Shift+G 到结尾

g :到开头

/关键字 :搜索 n 向下查找 N 向上查找

?关键字:搜索 n 向上查找 N 向下查找

q: 离开less

echo :输出内容到控制台

-e :支持反斜线控制的字符转换

输入输出重定向

ls -l > a.txt 列表的内容写入到a.txt中去(覆盖)

ls -al >> a.txt 列表的内容写入到a.txt中去(追加)

head 文件名 :显示文件前10行内容

head -n5 文件名 :显示文件前5行内容

tail 文件名 : 显示文件后10行内容

tail -n5 文件名 :显示文件后5行内容

tail -f 文件 :实时追踪该文档的所有更新 (ctrl+s暂停监控 ctrl+q恢复监控 ctrl+c结束监控)

ln :软链接,也称为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径

ln -s [原文件或目录] 软链接名

histoty :查看执行过的命令

histoty n :查看最近执行过的n条命令

histoty -c :清空历史命令

时间日期类

date :显示当前时间

date +%Y :显示当前年份

date +%m :显示当前月份

date +%d :显示当前是哪一天

date “+%Y-%m-%d:%H:%M:%S” :显示当前年月日时分秒

date +%s:显示时间戳(1970年到现在的秒数)

date -d ‘1 days ago’:一天前的时间

date -d ‘-1 days ago’:一天后的时间

date -s ‘时间’:设置系统当前的时间

ntpdate : 获取当前系统的正确时间

cal 查看日历

cal 年份:查看一年的日历

用户权限类

useradd 用户名:添加新用户

useradd -g 组名 用户名

passwd 用户名 :更改用户密码

可以通过“id 用户名”来查看用户是否创建成功

userdel -r 用户名:删除用户

cat /etc/passwd:查看创建了哪些用户

who:查看自己在哪个用户下

whoami:查看自己在哪个用户下

udo :设置普通用户具有root权限,在etc/sudoers里进行用户的添加

usermod -g 组名 用户名 :修改用户属于哪个组

userdel 用户名 :删除用户名

groupmod -n 新组名 原组名 :修改用户属于哪个组

groupdel 组名:删除组名

文件权限:

Linux是典型的多用户系统,不同的用户拥有不同的地位,文件的拥有权限也不一样。

ll 或者ls -l: 查看文件属性

-代表文件,d代表目录,l代表链接文档

chown 更改后用户 文件名:改变文件或者文件夹所有者

chown -R 更改的用户 文件名: 改变文件夹所有者

chgrp 更改后的用户组 文件或目录:改变所属组

搜索查找类:

find :将从指定的目录向下递归遍历其各个子目录,将满足条件的文件显示在终端

find [搜索范围] [选项] :搜索范围是文件夹 不指定默认从当前文件夹开始

例如:find /root -size +10M:找到root目录下10M以上的文件

locate :快速定位文件路径,利用事先建立的系统中所有的文件名称以及路径的locate数据库实现快速定位给定的文件,该指令无需遍历整个文件系统,查询速度快,为了确保查询结果的准确,管理员必须定期更新locate时刻。

locate 文件名字:快速搜索文件

该数据库是每天更新一次的,为了保证查找的准确性,第一次运行前,要更新,更新命令是:

updatedb

which 命令 :查找命令的路径

whereis 命令:查找命令的具体目录

grep 过滤查找以及“|”管道符

|:表示前一个命令的处理结果输出传递给后面的命令处理

grep 选项 查找内容 源文件

例如:ls grep -n test file.cfg :查找file文件里test在第几行出现过 然后显示出来

压缩解压类

gzip /gunzip

gzip 文件:压缩文件只压缩*.gz文件,

gunzip 文件.gz:解压缩文件命令

总结:只能压缩文件不能压缩目录,压缩文件不能保留原来的文件,同时压缩多个文件会产生多个压缩文件不会打包

zip/unzip

zip *.zip:file:压缩file文件为*.zip

zip -r *.zip:file:压缩file目录为*.zip

unzip -d<目录> *.zip:解压缩*.zip文件指定放到-d后的目录下

总结:可以保留原来的文件和目录,可以打包

tar 打包

tar [选项] XXX.tar.gz 将要打包进去的内容

打包且压缩:tar -zcvf file.tar.gz 1.txt 2 3.cfg:将1 2 3文件或者目录打包并压缩到file.tar.gz中

解包:tar -zxvf file.tar.gz -C /tmp :解压 file.tar.gz到/tmp

磁盘管理类

du (disk usage):磁盘占用情况

du 目录/文件:显示子文件的磁盘使用情况

df:查看磁盘空间的使用情况

df [选项] :列出文件系统的整体磁盘使用情况,检查文件系统的磁盘空间占用情况

选项:-h:以易于阅读的方式展示

lsblk -f:查看详细的设备挂载情况,显示文件系统信息

进程管理类

计算机中一个正在执行的程序或者命令被叫做进程

启动之后一直存在常驻的进程被叫做服务

分为前台显示进程和后台服务进程

ps :查看系统中的进程

ps aux|grep xxx :查看系统中的所有进程

ps -ef|grep xxx :查看子父进程之间的关系

ps aux详细信息:

想要查看进程的CPU占用率和内存占用率 可以使用aux

查看进程的父进程id 可以使用ef

kill:终止进程

kill [选项] 进程号:通过进程号杀死进程 (选项 :-g 强迫进程立即停止)

killall 进程名称:通过进程名称杀死进程

pstree:查看进程树

-p :显示进程的PID

-u :显示进程的所属用户

top:实时监控系统进程状态

top [选项]:

网络状态

netstat:显示网络状态和端口占用信息

netsat -anp | grep 进程号:查看该进程网络信息

netsat -nlp | grep 端口号:查看网络端口的占用情况

crontab:系统定时任务

crontab [选项]

重启crond服务:systemctl restart crond

然后设置定时任务

进入crontab编辑页面,会打开vim编辑定时任务:*****执行的任务

例如:

猜你喜欢

转载自blog.csdn.net/m0_56366502/article/details/129078091