作为自己使用的学习记录
持续更新~
1、文件操作
# 目录操作
# 主要介绍cd ls pwd三个命令
cd dirName
cd / # 进入根目录
cd .. # 进入上级目录
cd - # 返回上次工作目录
cd test # 进入当前目录的test目录
ls # 列出当前目录下全部文件及文件夹
ls -a # 将隐藏文件也显示出来
ls -l # 显示目录详细信息,可以和a一起使用,如 ls -al
ll # 列出文件详细信息
pwd # 显示当前所在位置
# 创建文件夹
mkdir dirName
mkdir -p /home/test # 确保目录名称存在,不存在的就建一个
# 创建文件
touch fileName
# vim是打开并编辑文件,如果文件不存在,退出后会新建
vim fileName
# 删除文件或者文件夹
# r表示递归删除,f强制删除
rm -rf file
rm -rf /home/test # 删除/home下test文件夹
rm -rf /home/test/* # 删除/home/test文件夹下的全部文件
rm -rf /home/test/word* # 删除/home/test文件夹下全部以word开头的文件
rm -rf `ls | grep word` # 删除当前文件下名称包含word的文件(这里使用的是管道的方式,ls获取当前目录全部文件名然后过滤文件命中包含word的字段,在删除过滤后的结果)
rm -rf `ls | sed '/test/d'` #删除当前文件夹下名称不包含test的文件
# 拷贝文件
# r表示递归,主要作用于目录,单文件拷贝不需要也可
cp -r [选项] 源文件 目标目录
cp test.txt /data/file/ # 将当前目录下的test.txt文件拷贝到/data/file/目录下
cp -r /home/* /data/ # 将home目录下文件及文件夹全部拷贝到data目录下
操作时如果出现覆盖的情况,可以在此命令前加上 \,如
\cp -r /home/* /data/ # 这样就不会出现提示是否覆盖
# 移动文件
命令mv基本同cp操作,不过移动后原文件不存在
2、文件内容操作
# 文件查看
# 查看命令主要使用cat head tail这三个命令
cat fileName # 查看文件全部内容
head -n fileName #查看文件前n行,参数不填默认为10行,如 head -5 test.txt
tail -n fileName #查看文件后n行,参数不填默认为10行,如 tail -2 test.txt
# 文件编辑
# vim命令有很多快捷操作,篇幅有限这里只简单介绍基本操作
# vimfileName后是查看文件内容,此时键盘输入i进入编辑模式即可编辑文件
# 编辑完成后键盘esc键退出编辑模式
# 在输入:wq即完成修改并退出文件。w表示write写入,q表示退出。
vim fileName
# 文件修改
# 文件修改主要介绍两个命令echo sed
echo hello # 输出hello到命令行
echo hello > test.log # 输出hello字符串到test.log
echo hello >> test.log # 输出hello字符串到test.log
# >和>>的区别主要是>是覆盖输入,>>是追加输入
# sed功能很强大,这里只介绍几个简单用法
sed -i '[命令]' fileName
sed -i '/commandUrl/d' test.txt
# 删除test.txt中全部包含有commadnUrl的行,尾部d表示删除
sed -i '/^ADMIN_HTTPS/i\APP_URL=abc'' test.txt
# 实现在行字符串以ADMIN_HTTPS开头的字符串的行添加一行字符串APP_URL=abc
sed -i 's|proc_get_status|haha|' test.txt
# 将test.txt中的proc_get_status替换为haha
# 文件内容过滤查询,主要用于过滤流(一般称为管道)
# 此主要说明两个命令的用法grep 和 awk,他们可以过滤文件内容也可以过滤流的内容
grep [条件字符] fileName
grep test fileName # 显示文件中全部包含test的行,如果为流则不需要fileName,awk同理
awk '[语句]' fileName
# awk默认空格或者tab分割正行字符串,-F后跟自定义分割方式
awk '{print $1 $2}' fileName # 获取全部行中第一个和第二个字符串
awk '$1="main" {print $1 $2}' # 获取全部行中第一个字符串为main的行
3、系统管理
# 获取系统磁盘使用情况
# df 和du 命令
df -h # 获取系统挂在磁盘使用情况,h参数表示大小使用合适的单位计算(如kb,mb,gb)
du -sh /home/ # 获取home使用的大小,h参数通上,s参数表示只计算总的,不加s会计算每个文件的大小
# 返回如: 1.7G /home/
# 端口使用情况
lsof -i:8080 # 查看8080端口使用情况
top #实时显示 process 的动态
# 删除或停止进程
kill pid # 停止进程,pid为进程id
kill -9 pid # 强制停止进程,慎用
4、备份与压缩
# 此处只说明tar命令,因为linux下文件基本都是使用这种方式备份的
# 文件压缩
tar -czvf test.tar.gz a.c # 压缩 a.c文件为test.tar.gz
tar -czvf test.tar.gz -C /home/test . # 压缩home下test文件夹,-C作用定位到打包目录,.的作用是将test目录下文件到压缩文件(解压后为/test/...),如果不带.则是将test文件夹压缩(解压后为/test/test/...)。
# 文件解压
tar -xzvf test.tar.gz # 解压文件到当前目录
tar -xzvf test.tar.gz -C /home/test # 解压文件内容到/home/test目录