1. 文件目录操作命令
- ls
作用: 显示指定目录下的内容 语法: ls [-al] [dir] 说明: -a 显示所有文件及目录 (. 开头的隐藏文件也会列出) -l 除文件名称外,同时将文件型态(d表示目录,-表示文件)、权限、拥有者、文件大小等信息详细列出 常见用法: ls -l 查看当前目录的所有文件及目录详细信息 ls -la /etc 查看/etc目录下所有文件及目录详细信息 ll 查看当前目录文件及目录的详细信息
- cd
作用: 用于切换当前工作目录,即进入指定目录 语法: cd [dirName] 举例: cd .. 切换到当前目录的上级目录 cd ~ 切换到用户的家目录 cd /usr/local 切换到/usr/local目录 第一个/代表的是根目录
- cat
作用: 用于显示文件内容 语法: cat [-n] fileName 说明: -n: 由1开始对所有输出的行数编号 举例: cat /etc/profile 查看/etc目录下的profile文件内容 cat -n /etc/profile 查看/etc目录下的profile文件内容并显示房号
- more
作用: 以分页的形式显示文件内容 语法: more fileName 举例: more /etc/profile 显示etc目录下profile这个文件的内容 显示文件内容之后的操作: 回车键 向下滚动一行 空格键 向下滚动一屏 b 返回上一屏 q或者Ctrl+C 退出more
- tail
作用: 查看文件末尾的内容 语法: tail [-f] fileName 说明: -f : 动态读取文件末尾内容并显示,通常用于日志文件的内容输出 举例: tail /etc/profile 显示/etc目录下的profile文件末尾10行的内容 tail -20 /etc/profile 显示/etc目录下的profile文件末尾20行的内容 tail -f /xiaoliu/my.log 动态读取/xiaoliu目录下的my.log文件末尾内容并显示
- mkdir
作用: 创建目录 语法: mkdir [-p] fileName 说明: -p: 确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建 举例: mkdir mydir mkdir -p mydir/test
- rm
作用: 删除文件或者目录 语法: rm [-rf] name 说明: -r: 递归删除 -f: 强制删除 举例: rm -r mydir/ 删除名为mydir的目录和目录中所有文件,删除前需确认 rm -rf mydir/ 无需确认,直接删除名为mydir的目录和目录中所有文件 rm -f hello.txt 无需确认,直接删除hello.txt文件
2. 拷贝移动命令
- cp
作用: 用于复制文件或目录 语法: cp [-r] source dest 说明: -r: 递归操作 举例: cp hello.txt mydir/ 将hello.txt复制到mydir目录中 cp hello.txt ./hi.txt 将hello.txt复制到当前目录,并改名为hi.txt cp -r mydir ./test/ 将mydir目录和目录下所有文件复制到test目录下 cp -r mydir/* ./test/ 将mydir目录下所有文件复制到test目录下
- mv
作用: 为文件或目录改名、或将文件或目录移动到其它位置 语法: mv source dest 举例: mv hello.txt hi.txt 将hello.txt改名为hi.txt mv hi.txt test/ 将文件hi.txt移动到test目录中 mv hi.txt test/hello.txt 将hi.txt移动到test目录中,并改名为hello.txt mv mydir/ test/ 如果test目录不存在,将mydir目录改名为test mv mydir/ test/ 如果test目录存在,将mydir目录移动到test目录中
3. 打包压缩命令
- tar
作用: 对文件进行打包、解包、压缩、解压 语法: tar [-zcxvf] fileName [files] 包文件后缀为.tar表示只是完成了打包,并没有压缩 包文件后缀为.tar.gz表示打包的同时还进行了压缩 说明: -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压 -c: c代表的是create,即创建新的包文件 -x: x代表的是extract,实现从包文件中还原文件 -v: v代表的是verbose,显示命令的执行过程 -f: f代表的是file,用于指定包文件的名称 举例: 打包 tar -cvf test.tar ./* 将当前目录下所有文件打包,打包后的文件名为test.tar tar -zcvf test.tar.gz ./*将当前目录下所有文件打包并压缩,打包后的文件名为test.tar.gz 解包 tar -xvf test.tar 将test.tar文件进行解包,并将解包后的文件放在当前目录 tar -zxvf test.tar.gz 将test.tar.gz文件进行解压,并将解压后的文件放在当前目录 tar -zxvf test.tar.gz -C /usr/local 将test.tar.gz文件进行解压,并将解压后的文件放在/usr/local目录
- zip
压缩 zip -q -r test.zip test 查看压缩包内文件 unzip -l test.zip 解压 unzip -d 解压路径 test.zip
- bzip2(只能压缩文件)
压缩 bzip2 test.txt 解压 bzip2 -d test.txt.bz2
4. vim
4.1 使用流程
- 安装vim(只需要安装一次)
yum install vim -y
- 创建文件
vim a.txt
- 编辑文件
按i进入插入模式,编写内容 i => 在当前位置编辑 a => 在在下一个字符的位置编辑 o => 在下一行编辑
- 保存退出
从插入模式按esc进入命令行模式 按:进入底行模式 输入wq回车
4.2 三种模式之间的切换
5. 查找命令
- ps -ef : 查找系统中所有已启动的程序
- | : 管道符,对前面查找的结果进一步操作
- find
作用: 在指定目录下查找文件 语法: find dirName -option fileName 举例: find . –name "*.java" 在当前目录及其子目录下查找.java结尾文件 find /test -name "*.java" 在/test目录及其子目录下查找.java结尾的文件 find 目录 -type f -size +100M 查找在某个目录下大于100M的文件 find 目录 -type f mtime -2 -2: 查找在两天内修改过的文件 +2: 查找在两天前修改过的文件
- grep
作用: 从指定文件中查找指定的文本内容 语法: grep word fileName 举例: grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置
6. 重点命令
6.1 系统管理命令
切换用户:
su 用户名
管理员身份运行:
sudo 命令
实时显示进程信息:
top
查看进程信息:
ps -ef
ps -ef | grep '进程名'
ps -aux | grep '进程名'
参数说明
e 显示所有进程
f 全格式
a 显示所有程序
u 以用户为主的格式来显示程序状况
x 显示无控制终端的程序
杀死进程:
kill pid
kill -9 pid # 这个我们一般不用-9太暴力
关机重启:
halt
reboot
退出当前shell:
exit
6.2 目录操作命令
列目录:
ls -l
ls -la
ls -a
显示当前目录:
pwd
目录切换:
注意,目录分为绝对路径和相对路径
/开头一定是绝对路径,linux下/是根路径
./或../或文件名都是相对路径
cd / 进入根目录(/表示根路径)
cd ~ 进入用户家目录(root用户家目录是/root,普通用户家目录是/home/用户名)
创建目录:
mkdir -p aaa/bbb/ccc
文件复制:
cp –r aaa/* ccc 将aaa目录下的所有文件拷贝到ccc目录
文件删除:
rm -rf 目录
rm -rf 文件
rm -rf ./* 删除当前目录下的所有文件
注意:
严禁 rm -rf /* 这是作死的行为
移动文件/重命名:
mv ./* ddd
mv aaa.txt bbb.txt
6.3 权限命令
1. 权限介绍
2. 文件权限描述
3. 命令
数字描述权限:
chmod -R 644 目录
chmod 755 文件
-R 递归操作
755 属主读写执行,属组读执行,其他读执行
750 属主读写执行,属组读执行,其他没权限
符号描述权限:
设置权限
chmod u=rwx,g=rx,o=r as.txt
u:文件属主
g:文件属主所在属组
o:其他用户
a:所有用户
chmod a-x as.txt 移除所有用户的执行权限
chmod u+x as.txt 当前用户添加执行权限
6.4 文件操作
创建空文件:
touch a.txt
批量创建空文件:
touch a-{1..10}.txt
查看文件编辑状态:
stat a.txt
内容显示:
echo '内容'
将内容写入文件:
echo 'hello world' > a.txt 将hello world用覆盖形式写入a.txt
echo 'hello world' >> a.txt 将hello world用追加形式写入a.txt
软连接(快捷方式):
ln -s /home/lw lwdir
文件查找:
find . -name "*.gz" 在当前目录及其子目录查找后缀为.gz的文件
find / -name 'hello' 在根目录及其子目录下查找名字包含hello的文件(慎用)
find . -ctime -1 将目前目录及其子目录下所有最近 1天内更新过的文件
文本查找:
grep '内容' 文件
查询ssh进程信息,不包括grep这条命令
ps -aux | grep ssh | grep -v "grep"
从根目录开始查找所有扩展名为 .log 的文本文件,并找出包含 "ERROR" 的行
find / -type f -name "*.log" | xargs grep "ERROR"
6.5 压缩&解压
- gzip压缩&解压(文件)
使用gzip对aaa.txt进行压缩 gzip aaa.txt 使用gzip对aaa.txt进行解压 gunzip aaa.txt.gz gzip -d aaa.txt.gz
- tar压缩&解压(文件夹)
将当前目录下的所有文件打包 tar -cvf backup.tar.gz ./* tar -zcvf backup.tar.gz ./* 打包同时用gzip压缩 将backup.tar解压到/tmp/backup目录下 tar -zxvf -C /tmp/backup backup.tar.gz 注意,使用-C必须保证目录存在 说明: -z: z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压 -c: c代表的是create,即创建新的包文件 -x: x代表的是extract,实现从包文件中还原文件 -v: v代表的是verbose,显示命令的执行过程 -f: f代表的是file,用于指定包文件的名称
- zip压缩&解压(文件夹)
压缩 zip -q -r backup.zip ./* 查看压缩包内容 unzip -l backup.zip 解压 unzip -d /tmp/backup backup.zip
- bzip2压缩&解压(文件)
bzip2 aaa.txt bzip2 -d aaa.txt.bz2
6.6 磁盘管理
显示所有磁盘信息:
df -hT
6.7 网络
查看网卡相关信息:
ifconfig
网卡开启和关闭:
关闭
ifconfig ens33 down
开启
ifconfig ens33 up
ping网络:
ping www.baidu.com -c 4
查看端口:
查看当前所有tcp端口
netstat -ntlp
查看所有80端口使用情况
netstat -ntulp | grep 80
查看所有3306端口使用情况
netstat -an | grep 3306
查看当前所有监听端口
netstat -nlp |grep LISTEN
6.8 文件上传和下载
安装rz和sz工具包:yum install -y lrzsz
上传:rz
下载:sz+文件名
注意:这里会下载到默认目录
7. 文本编辑工具sed
sed(流编辑器)是一个用于处理文本的命令行工具。它可以根据自定义规则对输入文本进行编辑、转换和替换操作。
7.1 sed 结构
sed语句的结构 ===>>> sed 命令选项 '动作指令' 文件名
7.2. 命令选项:
命令 | 作用 |
-e | 直接使用动作指令来修改文本文件,可以在一条命令中使用多个-e |
-f | 使用一个xxx.sed的脚本文件来代替动作指令 |
-h | 显示帮助 |
-n | 用作匹配动作指令中的文本,如果段落中没有该文本,则这一段罗不显示,通常与动作指令中的p一起使用 |
-v | 查看版本信息 |
-i | 直接修改文本文件 |
注意:-e和-f可以同时使用,不冲突。
7.3. 动作指令:
命令 | 作用 |
a | 新增指令,在指定的某一行之后添加一行文本 |
c | 替换指令,把指定的某一行文本替换成另一段文本 |
d | 删除指令,删除指定的某一行或者好几行的文本 |
i | 插入指令,在指定的某一行之前插入一行文本 |
p | 打印指令,通常与-n命令一起使用,将结果打印在控制台 |
s | 替换指令,将某一段文本替换成另一端文本 |