参考链接:
https://www.cnblogs.com/fnlingnzb-learner/p/5831284.html
#路径切换
cd /home/winycg/ # 转到该目录下
cd .. # 转到上一级目录
cd ../.. # 转到上两级目录
cd - # 输出上一次所在目录的绝对路径并定位到上次所在路径
cd ~user1 # 进入个人所在的主目录
pwd # 显示当前的绝对路径
#文件夹内容展示
ls # 查看目录中的文件
ls -F # 查看目录中的文件,文件夹后带/
ls -l # 显示文件和文件夹的详细信息,l=long
ls -lh # lh=long human,比较容易理解的形式展示,将容量转化为计量单位K
ls -a # 显示隐藏文件,a=all
ls *[0-9]* # 显示命名中包含数字的文件和文件夹
#文件和文件夹操作
# 创建----------------------------------------
touch 1.txt # 创建1.txt
mkdir 1111 # 创建1111文件夹
# 复制粘贴----------------------------------------
cp 1.txt 1_copy.txt # 复制1.txt为1_copy.txt
cp 1.txt 1111/ # 复制1.txt到1111文件夹下
cp -r 1111 1111_copy # 复制1111文件夹为1111_copy文件夹,a=recursive
cp -r 1111 1111_x/ # 复制1111文件夹到1111_x文件夹下
# 剪切,和复制粘贴操作类似,但是不需要-r ----------
mv 1.txt mv1.txt # 将文件夹剪切为mv1.txt,相当于文件的重命名
mv 1.txt 1111/ # 将1.txt移到1111文件夹
mv 1111 1234 # 将1111文件夹剪切为1234文件夹,相当于重命名
mv 1111 1234/ # 将1111文件夹剪切到1234文件夹
# 删除-------------------------------------------
rm 1.txt # 删除1.txt
rm -r 1234 # 删除1234文件夹
#文件权限管理
ls -l
drwxrwxr-x 2 winycg winycg 4096 5月 9 10:35 12
-rw-rw-r-- 1 winycg winycg 0 5月 8 22:06 1.txt
chmod [谁][怎么修改] [哪个文件]
[谁]
u: 对于 User 修改
g: 对于 Group 修改
o: 对于 Others 修改
a: (all) 对于所有人修改
[怎么修改]
+, -, =: 作用的形式, 加上, 减掉, 等于某些权限
r, w, x 或者多个权限一起, 比如 rx
[哪个文件]
施加操作的文件, 可以为多个
chmod u+x 1.txt # user添加读权限
chmod u-r 1.txt # user撤销du权限
chmod a-r 1.txt # 所有用户撤销读权限
rwx分别代表3个数字:读(r=4),写(w=2),可执行(x=1)。可以使用三位数字表示ugo所具有的文件权限,每位数为权限的加和,每位数的上限值为7,即(rwx=4+2+1=7),拥有所有权限
chmod 777 1.txt # 表示ugo三者具有1.txt的所有权限
nohup python app.py # nohup挂起命令,使得即使关闭终端命令也在运行
#文件查找
python --version # 查看Python版本
whereis python # 显示一个二进制文件或源码的位置
which python # 显示一个二进制文件或可执行文件的完整路径
find / -name 1.txt # 查找根目录/中文件名字符串='1.txt'的文件
find /home/winycg/ -name \*.txt # 查找后缀为.txt的文件,\*为转义,*符合正则表达式语法
locate XXX # 查找系统中含有XXX字符串的文件或目录
# 使用此命令之前需要更新本地文件信息的数据库(/var/lib/mlocate/mlocate.db)
# 这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次。
# 在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。
# locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索数据库
使用方法为:
sudo updatedb
locate XXX
#打包和解压
参考:tar命令
tar命令参数:
# 以下3种不能同时存在
-c:create,建立tar文件
-x:释放tar文件
-t:查看.tar文件
-z:同时具有gzip属性
-j:同时bzip2属性
-v:压缩过程中显示文件,意思是终端会显示文件列表
-f:使用档名,在f之后紧跟档名不能跟其他参数
tar -cvf archive.tar 1.txt 1 # 将1.txt和1文件夹打包创建归档文件archive.tar,只打包不压缩
tar -xvf archive.tar # 释放archive.tar包,原有tar包保留
tar -tf archive.tar # 查看归档文件archive.tar中的内容
tar -jcvf archive.tar.bz2 1.txt 1 # 将1.txt和1文件夹压缩为bzip2格式的tar文件
tar -jxvf archive.tar.bz2 # 解压.tar.bz2格式的文件
tar -zcvf archive.tar.gz 1.txt 1 # 将1.txt和1文件夹压缩为gzip格式的tar文件
tar -zxvf archive.tar.gz # 解压.tar.gz格式的文件
zip -r com.zip 1.txt 1 # 将1.txt和1文件夹压缩到com.zip中
zip com.zip # 解压com.rar
rar a com.rar 1.txt 1 # 将1.txt和1文件夹压缩到com.rar中
rar x com.rar # 解压com.rar
bzip2 1.txt # 压缩1.txt为1.txt.bz2文件
bunzip2 1.txt.bz2 # 解压缩.bz2文件
gzip 1.txt # 压缩1.txt为1.txt.gz文件
gunzip 1.txt.gz # 解压缩.gz文件
#dpkg软件包管理工具(Debian,Ubuntu)
dpkg -i packageXXX.deb # 从.deb文件安装deb包,i=install
dpkg -r package # 从系统中删除deb包,r=remove
dpkg -l # 显示系统中已经安装的deb包
dpkg -l | grep abc # 显示系统中名字中带有abc的deb包
dpkg -L package # 显示deb包的所有文件
dpkg -s package # 获得已安装的deb包详细信息,s=status
dpkg -S package # 确认所给的文件由那个deb包提供,s=search
# 安装.rpm文件(将.rpm转为.deb)
alien xxx.rpm # 将xxx.rpm转为xxx.deb文件
dpkg -i xxx.deb
#APT软件包管理工具(Debian,Ubuntu)
apt-get install package # 下载并安装软件包
apt-get -f install # 修复安装-f = --fix-missing,安装所需要的依赖
apt-get remove package # 卸载软件包
apt-get purge package # 卸载病并清除软件包配置
apt-get autoremove # 卸载所有不再使用的依赖包
apt-get update # 从其他源更新本机的可用软件包索引文件,获取最新的可用软件包版本信息
apt-get upgrade # 更新已安装的软件包
apt-cache search package # 根据正则表达式搜索软件包,只提供软件名的一部分也可以
apt-get clean # 删除所有已下载的包文件
#YUM软件包管理器(RedHat,CentOS)
yum install package # 下载并安装package包
yum localinstall packagexxx.rpm # 安装本地的.rpm文件
yum update # 更新系统中所有的包
yum update package # 更新包
yum erase package # 删除包
yum list # 列出当前系统中已安装的软件包
yum search package # 从源中查找软件包,提供部分名字即可
yum clean all # 清除缓存的软件包和头文件
#文本处理
cat 1.txt # 查看1.txt中的内容
cat 1.txt > 2.txt # 将1.txt内容复制到2.txt中,2.txt原有内容被覆盖
cat 1.txt >> 2.txt # 将1.txt中的内容追加到2.txt中
cat 1.txt 2.txt > 3.txt # 将1.txt和2.txt中的内容合并到3.txt,3.txt原有内容被覆盖
grep XXX 1.txt # 查找1.txt中的XXX文本,XXX语法为正则表达式
grep XXX -r 1 # 查找1文件夹中中的XXX文本
sed 's/123/567/g' 1.txt # 将1.txt中的文本123替换为567,但是1.txt不变,仅仅将改变的内容输出到终端
sed 's/123/567/g' 1.txt > 4.txt # 将新内容保存到4.txt,>可以将命令运行的结果保存到文件
#关机与重启
shutdown -h now # 关机
init 0 # 关机
shutdown -h hours:minutes # 在hours时minutes分时刻关闭系统
shutdown -c # 取消按预定时间关闭系统
shutdown -r now #重启
reboot #重启