linux的简单命令介绍2

Linux的简单命令介绍2

1.grep:文本过滤命令,默认情况下,符合要求的会整行显示出来

ls -l | grep “^d”:查看当前文件夹里面以d开头的文件,
| :这是个管道符号,将前面命令的输出送给后面命令作为输入
“^d”:代表一行里面以d开头

[root@xiaoliu jindafu]# ls	-l | grep "^d"
dr-xr-xr-x. 5 root root 4096 11月 28 13:22 boot
drwx------. 2 root root   83 11月 28 13:30 czm
drwx------. 2 root root   83 11月 28 13:30 lhj
drwx------. 2 root root   62 11月 28 13:30 lilanqing
drwxr-xr-x. 3 root root   18 11月 28 13:27 liufu
drwx------. 2 root root   83 11月 28 13:30 shimengmeng
drwx------. 3 root root   98 11月 28 13:30 zhangjian

2.pstree(进程族谱):查看Linux系统里的进程树的结构,用来描述进程与进程间的关系

从下面的两段代码可以看出区别:

[root@xiaoliu jindafu]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
        ├─VGAuthService
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─irqbalance───{irqbalance}
        ├─login───bash
        ├─polkitd───5*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd─┬─sshd───sshd───bash
        │      └─sshd───sshd───bash───pstree
        ├─sssd─┬─sssd_be
        │      └─sssd_nss
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───3*[{tuned}]
        └─vmtoolsd───2*[{vmtoolsd}]

在启动一个新的bash进程以后,pstree的位置关系也发生了改变

[root@xiaoliu jindafu]# bash 
[root@xiaoliu jindafu]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
        ├─VGAuthService
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─firewalld───{firewalld}
        ├─irqbalance───{irqbalance}
        ├─login───bash
        ├─polkitd───5*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─sshd─┬─sshd───sshd───bash
        │      └─sshd───sshd───bash───bash───pstree
        ├─sssd─┬─sssd_be
        │      └─sssd_nss
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───3*[{tuned}]
        └─vmtoolsd───2*[{vmtoolsd}]

3.yum:是Linux里面的软件管理的命令;provides:是一个选项,查询命令是通过哪个软件包安装过来的;

yum provides pstree :查询pstree是通过哪个软件安装过来的

[root@xiaoliu jindafu]# yum provides pstree
上次元数据过期检查:0:00:49 前,执行于 2021年11月29日 星期一 23时14分00秒。
psmisc-23.1-5.el8.x86_64 : Utilities for managing processes on your
                         : system
仓库        :@System
匹配来源:
文件名    :/usr/bin/pstree

psmisc-23.1-5.el8.x86_64 : Utilities for managing processes on your
                         : system
仓库        :baseos
匹配来源:
文件名    :/usr/bin/pstree

[root@xiaoliu jindafu]# 

4.touch:新建空文件和更新文件的时间
1.》当所要创建的文件不存在时,就是新建空文件;
[root@xiaoliu lianxi]# ls
backup.sh  filename.txt
[root@xiaoliu lianxi]# touch zhangjian.txt	#新建空文件zhangjian.txt
[root@xiaoliu lianxi]# ls
backup.sh  filename.txt  zhangjian.txt

2.》当所要创建的文件存在时,就是更新文件的时间
[root@xiaoliu lianxi]# ls	-l
总用量 8
-rwxr-xr-x. 1 root root 158 11月 28 17:00 backup.sh
-rw-r--r--. 1 root root  18 11月 28 17:24 filename.txt
-rw-r--r--. 1 root root   0 11月 29 23:28 zhangjian.jpg
-rw-r--r--. 1 root root   0 11月 29 23:30 zhangjian.mp4
-rw-r--r--. 1 root root   0 11月 29 23:20 zhangjian.txt	#时间是23.20
[root@xiaoliu lianxi]# touch zhangjian.txt
[root@xiaoliu lianxi]# ls -l
总用量 8
-rwxr-xr-x. 1 root root 158 11月 28 17:00 backup.sh
-rw-r--r--. 1 root root  18 11月 28 17:24 filename.txt
-rw-r--r--. 1 root root   0 11月 29 23:28 zhangjian.jpg
-rw-r--r--. 1 root root   0 11月 29 23:30 zhangjian.mp4
-rw-r--r--. 1 root root   0 11月 29 23:51 zhangjian.txt	#由于文件已经存在,所以更新文件的时间,为23.51

5.file:查看文件类型

在Linux里面不能被文件的后缀名所迷惑,.jpg不一定是一个图片,.mp4也不一定是个音频文件
empty 空文件
directory 目录=文件夹
symbolic link 符号链接=快捷方式

[root@xiaoliu lianxi]# file zhangjian.txt
zhangjian.txt: empty
[root@xiaoliu lianxi]# file zhangjian.jpg
zhangjian.jpg: empty
[root@xiaoliu lianxi]# file zhangjian.mp4
zhangjian.mp4: empty
虽然他们的后缀名不一样,但他们都是空文件;
6.find:Linux里面的查找命令

find / -name “log”
/ 表示的是查找的位置,也可以是其他的,如果不知道在哪个目录下面,就从根下面查找,默认所有的文件都在根目录下
-name 表示的是查找的条件,根据文件名查找
“log” 文件名为log的文件,也可以换成查找文件名为字母l开头的文件:”l*“

[root@xiaoliu lianxi]# find / -name "log"
/dev/log
/run/log
/run/initramfs/log
/sys/fs/xfs/dm-0/log
/sys/fs/xfs/sda1/log
/var/log

7.stat:查看文件状态

访问时间(access time–atime):读取文件的时间,可以用cat修改
更改时间(modif time–mtime):真正修改文件里面的内容,可以用vim实现,但是文件内容一旦修改,三个时间都会变
改动时间(change time–ctime):改变文件的属性(文件名,time,大小)的时间

[root@xiaoliu lianxi]# stat zhangjian.txt
  文件:zhangjian.txt
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:50936565    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:default_t:s0
最近访问:2021-11-29 23:51:53.268095047 +0800	#+0800表示东八区的时区
最近更改:2021-11-29 23:51:53.268095047 +0800
最近改动:2021-11-29 23:51:53.268095047 +0800
创建时间:-

8.date/timedatectl:查看当前时间的命令,timedatectl还可以查看当前的美国时间
9.locale:查看当前Linux系统里的语言的编码

修改语言编码为zh_CN.UTF-8 简体中文:LANG=zh_CN.UTF-8
修改语言编码为美式英语:LANG=en_US.UTF-8

[root@xiaoliu lianxi]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

10.rm:是一个删除命令

rm -rf zhangjian.txt
-rf 是选项,表示强制删除,且递归删除目录下面的所有文件和文件夹

[root@xiaoliu lianxi]# ls
backup.sh     zhangjian.jpg  zhangjian.txt
filename.txt  zhangjian.mp4
[root@xiaoliu lianxi]# rm -rf zhangjian.txt
[root@xiaoliu lianxi]# ls
backup.sh  filename.txt  zhangjian.jpg  zhangjian.mp4
11.cp:是一个复制命令

1.复制文件夹需要加上选项: -r
2.保留文件的所有属性需要加上选项:-a

1》.单个文件的复制
root@localhost lianxi]# touch   songyuxiao.txt
[root@localhost lianxi]# ls
feng.txt  songyuxiao.txt
[root@localhost lianxi]# mkdir  changsha
[root@localhost lianxi]# ls
changsha  feng.txt  songyuxiao.txt
[root@localhost lianxi]# cp  songyuxiao.txt  changsha
                             			#	 源文件          		 目的地
                             			#	 source           		destination
[root@localhost lianxi]# ls changsha
songyuxiao.txt
2》.多个文件的复制
[root@localhost lianxi]# mkdir  hunan
[root@localhost lianxi]# ls
changsha  feng.txt  hunan  songyuxiao.txt  weijunlin.txt
[root@localhost lianxi]# cp  feng.txt  songyuxiao.txt  weijunlin.txt   hunan	 #前面的3个文件都是源文件,hunan是目的地
[root@localhost lianxi]# ls
changsha  feng.txt  hunan  songyuxiao.txt  weijunlin.txt
[root@localhost lianxi]# ls hunan
feng.txt  songyuxiao.txt  weijunlin.txt
3》.文件的复制,粘贴,重命名一步到位

将songyuxiao.txt复制到changsha目录,改名为syx.txt

[root@xiaoliu lianxi]# ls changsha/
songyuxiao.txt
[root@xiaoliu lianxi]# cp songyuxiao.txt changsha/syx.txt	#斜杠后面接重命名的文件名
[root@xiaoliu lianxi]# ls changsha/
songyuxiao.txt  syx.txt
4》.为什么复制文件的时候,如果文件在目的地已经存在,会给予提醒?

因为cp是’cp -i’的别名
-i 选项的作用就是:在覆盖之前给予提醒
解决方法:
1.取消别名
unalias cp
2.使用cp命令的绝对路径
[root@localhost lianxi]# which cp
/usr/bin/cp
[root@localhost lianxi]# /usr/bin/cp *.txt hunan
3.在命令之前加上一个反斜杠
[root@localhost lianxi]# \cp *.txt hunan

5》.cp命令和绝对路径的使用
[root@localhost lianxi]# cp  /etc/passwd   .  	 #将/etc/passwd 文件复制到当前目录下
[root@localhost lianxi]# cp  /etc/passwd  /lianxi/hunan
[root@localhost lianxi]# ls /lianxi/hunan
fengdeyong.txt  feng.txt  passwd  songyuxiao.txt  syx.txt  weijunlin.txt
12.编写一个回收站功能的脚本,取代rm命令

1.编写脚本
[root@localhost lianxi]# vim backup.sh
1.》位置变量的作用就是往脚本里传递参数
$1 第1个位置变量
$2 第2个位置变量

	[root@localhost lianxi]# vim    backup.sh
#!/bin/bash
#新建一个回收站文件夹,用来存放删除的文件
mkdir  -p  /backup
#将第1个位置变量的内容移动到/backup目录
mv  $1  /backup

2.给脚本可执行权限

	[root@localhost lianxi]# chmod  +x backup.sh 

3.复制backup.sh脚本到/usr/bin/,目的是可以到任何目录下可以执行脚本

	[root@localhost lianxi]# cp backup.sh  /usr/bin/

4.给rm起别名对应backup.sh脚本

[root@localhost /]# alias  rm=backup.sh

5.使用

[root@xiaoliu lianxi]# mkdir sanchuang
[root@xiaoliu lianxi]# ls
backup.sh  filename.txt  songyuxiao.txt  zhangjian.mp4
changsha   sanchuang     zhangjian.jpg
[root@xiaoliu lianxi]# rm sanchuang
[root@xiaoliu lianxi]# ls
backup.sh  filename.txt    zhangjian.jpg
changsha   songyuxiao.txt  zhangjian.mp4
[root@xiaoliu lianxi]# ls /backup/
sanchuang

13.dirname: + 路径 得到绝对路径的文件夹的路径
[root@xiaoliu lianxi]# dirname /usr/bin/backup.sh 
/usr/bin
14.basenaem:+ 路径 得到最后的文件的名字
[root@xiaoliu lianxi]# basename /usr/bin/backup.sh 
backup.sh
15. >:输出重定向 :将本来在屏幕上的输出重定向保存到文件里
1. >xiong.txt:如果文件存在,就清空文件里的内容;如果不存在就新建空文件
[root@xiaoliu lianxi]# cat xiong.txt 
lhj
shi
[root@xiaoliu lianxi]# > xiong.txt 
[root@xiaoliu lianxi]# cat xiong.txt 
[root@xiaoliu lianxi]# 

2.如果文件不存在就新建
[root@localhost lianxi]# ls 
backup.sh  filename.txt
[root@localhost lianxi]# echo 123456  >1.txt
[root@localhost lianxi]# ls
1.txt  backup.sh  filename.txt
[root@localhost lianxi]# cat 1.txt 
123456
3.如果文件存在就覆盖原来文件里的内容
4.

1> 正确的输出重定向 :就是命令执行成功输出的内容 --》默认 > 等于 1>
1>> 追加正确的输出重定向

2> 错误的输出重定向 :就是命令执行出错看到的输出内容
2>> 追加错误的输出重定向

&> 正确和错误的重定向
&>> 追加正确和错误的重定向

[root@localhost lianxi]# echo 12345678  >1.txt
[root@localhost lianxi]# cat 1.txt 
12345678
4./dev/null:黑洞文件,任何的内容重定向到这个文件里都不在磁盘里保存
16. >>:追加输出重定向: 将本来在屏幕上的输出重定向保存到文件里
1.如果文件不存在就新建
2.如果文件存在不覆盖原来文件里的内容,只是在末尾追加
[root@localhost lianxi]# cat 1.txt 
12345678
[root@localhost lianxi]# echo 123123  >>1.txt 
[root@localhost lianxi]# cat 1.txt 
12345678
123123
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值