目录
1.查找find
(1)普通用法
find . 列出当前目录下所有的目录及文件
find ./ -name "f1" 列出当前目录下所有名称为f1的目录和文件
find ./ -name "f1" -type f 列出当前目录下所有名称为f1的文件
find ./ -name "f1" -type d 列出当前目录下所有名称为f1的目录
find ./ -iname F1 忽略大小写,列出当前目录下所有名称为f1或F1的目录和文件
find ./ ! -name "f1" 列出当前目录下除了名称为f1的所有文件和目录
(2)组合用法
- find与管道符|和xargs命令组合使用:
find ./ -name "f1" | xargs rm -r 删除当前目录下所有名称为f1的目录和文件
- 查找当前目录下文件和目录的个数
find ./ | wc -l
2.xargs命令
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs 擅长将标准输入数据转换成命令行的参数。
xargs可以读取标准输入和管道中的数据,用于弥补有些命令(如echo、kill、rm、mkdir,ls)不能从管道中读取数据的不足;
3.管道符
|:管道符,表示将前一个命令的结果交给之后的命令处理;
4.查看文件内容
(1)查看两个文件的差别:diff file1 fille2
diff test1.txt test2.txt
(2)正序查看文件内容cat
cat test1.txt 查看文件全部内容
cat -n test1.txt 查看文件全部内容,带行号
cat -b test1.txt 查看文件全部内容,只显示非空行的行号
(3)倒序查看文件内容tac
tac test1.txt 不带-n -b这些参数
(4)分页查看文件内容more
more test1.txt 不带-n -b这些参数
(5)分页查看文件内容less
和more类似,但有向前翻页的功能
less test1.txt
(6)指定行数查看文件内容head
head -3 test1.txt 表示查看前3行
tail -3 test1.txt 表示查看后3行
tail -f * 文件追踪,查看日志常用
tail -f *t* 文件追踪,查看名称带t的文件
tail -f -n 2 *tes* 文件追踪,查看名称带t的文件,展示后2行
5.用户操作相关
参考:linux查看所有用户
(1)添加用户并设置密码
useradd user1 添加用户user1
passwd user1 给user1设置密码
(2)查看所有用户
cat /etc/passwd
cat /etc/passwd |cut -f 1 -d :
(3)切换用户
su user1 切换到user1
sudo su root 普通用户切换到root用户,需要给普通用户添加执行sudo命令的权限
(4)给普通用户添加sudo执行权限
vim /etc/passwd root用户打开/etc/passwd文件
添加user1 ALL=(ALL)ALL user1指需要sudo权限的普通用户
6.权限相关
(1)改变文件/目录的权限:
【r-4 w-2 x-1】
chmod 777 test1.txt
(2)改变文件拥有者
chown 修改目录的用户权限(文件拥有者和组)
chown root1:root test1.txt
chown -R root1:root dir1 处理指定目录以及其子目录下的所有文件
7.Linux系统时间
(1)查看当前系统时间
date
(2) 更改Linux系统的时间
date -s '2/15/2023 12:18:33' root用户执行
sudo date -s '2/15/2023 12:18:33' 普通用户执行
8.Vim命令
三种模式:命令行模式(:/等命令)-编辑模式-普通模式
(1)vim替换文件字符串为指定的字符串
如:vim替换全部字符
:{作用范围}s/{目标}/{替换}/{替换标志}
例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g)。
当前行
:s/foo/bar/g
全文
:%s/foo/bar/g
:%s/A/a/g
(2)vim删除多行
:(起始行),(结束行)d
:3,5d 删除3到5行,闭区间
(3)查找某个字符串/
(4)定位到某一行:n
(5)移动光标快捷键
命令行模式下:
h:向左移动
j:向下
k:表示向上
L:表示向右
u:撤销
数字+>(左箭头):向右移动几个字符
数字+<:向左移动几个字符
9.传输数据(调接口)curl
(1)curl是一个非常实用的、用来与服务器之间传输数据的工具
curl curl https://www.baidu.com
(2)可以查询出口IP(公网IP)
curl ifconfig.me
10.创建软链接
功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间
ln -s 源文件 目标文件
ln -s /root/workspace/dir4 /root/workspace/dir5
10.系统管理
(1)ps
系统在过去执行的进程的静态快照
ps -ef 列出全部进程的详细信息 -e全部进程 -f全部字段
ps -ef | grep 进程名称 与grep组合使用,过滤出需要的进程
ps aux | grep Z 定位到僵尸进程。最后有defunct的标记,就表明是僵尸进程
pstree -apscl <pid> 找到是哪个Java进程创建的。
kill -s SIGCHLD pid pid 替换成父进程的进程 id,因为不能杀死已经死去的进程
UID: 该进程执行的用户id
PID: 进程id
PPID: 该进程的父级进程id,如果一个程序的父级进程找不到,该程序的进程被称为僵尸进程
C: cpu的占用率,形式是百分数(%)
STIME: 进程的启动时间
TTY: 终端设备,发起该进程的设备识别符号,如果显示‘ ?’表示该进程并不是由终端发起
TIME: 进程的执行时间
CMD: 该进程的名称或对应的路径
(2)top
系统进程实时动态信息,默认10s更新一次
查看CPU使用情况
top
top -d 2 设置2s更新一次
(3)kill
kill -15 pid用于结束进程,默认
kill -9 pid强制杀死进程
想要杀死进程bash
ps -ef | grep bash 获取到bash进程的进程id(PID),比如是3372
kill -9 3372 杀掉进程
(4)df、du显示磁盘空间使用情况
df -h 以易读方式显示,分区展示
du -h 查看磁盘占用空间(文件、目录的磁盘使用空间)
df和du的区别
df:通过文件系统快速获取空间大小的信息,当我们删除一个文件的时候,这个文件不是马上就在文件系统消失,而是暂时消失,当所有程序都不用时,才会根据操作系统的规则释放掉已删除的文件
df记录的是通过文件系统获取到的文件大小,比du强的地方是能够看到已删除的文件, 而且计算大小时,把这一部分空间也加上了,更精确
du: 通过搜索文件计算每个文件的大小然后累加,du能看到的文件只有当前存在的,未被删除的。计算的是当前他认为存在的所有文件大小的累加和
11.ping
测试主机间网络的连通性
ping www.baidu.com
12.文件管理
(1)压缩
tar -zcvf ~/sql/1.tar.gz ~/Desktop 将~/Desktop目录压缩到~/sql,并将压缩文件命名为1.tar.gz
(2)解压缩
tar -zxvf xx.tar.gz
13.查看文件大小
(1) ls -l
(1)ls -l 文件名
[root@esc ~]# ls -l a.txt
-rwxrwxrwx 1 root root 6872 Jul 8 2021 a.txt
(2)ls -lh 文件名 显示更人性化
[root@esc ~]# ls -lh a.txt
-rwxrwxrwx 1 root root 6.8K Jul 8 2021 a.txt
(2)du -b和du -h
du -h 文件名显示更人性化
[root@esc ~]# du -b test.txt
6872 tezt.txt
[root@esc ~]# du -h test.txt
8.0K test.txt
(3)使用wc命令查看
使用“wc -c filename”得到字节数,参数-c表示统计字符。因为一个字符对应一个字节,所以这样得到字节数。
[root@esc ~]# wc -c test.txt
6872 test.txt
14.统计文件里包含关键字的行数
cat file.txt | grep "aaa" |wc -l