Linux常用命令大全

黎小强
2021-01-14 / 0 评论 / 617 阅读 / 正在检测是否收录...

常用快捷

Tab              当想不起来命令的如何拼写的时候,可以使用 Tab 去补全命令 
ctrl + L :      用于清理终端的内容,就是清屏的作用,同clear 命令 
ctrl + D :      给终端传递EOF(End Of File,文件结束符) 
shift + PaUp :  用于向上滚屏,与鼠标向上滚动同理。 
shift + PaDn :  用于向上滚屏,与鼠标向下滚动同理。 
ctrl + A :      光标跳到一行命令的开头。跟Home键相同的效果 
ctrl + E :      光标跳到一行命令的结尾。跟End键相同的效果 
ctrl + U :      删除所在光标左侧的命令字符 
ctrl + K :      删除所在光标右侧的命令字符 
ctrl + W :      删除光标左侧的一个“单词” (指用空格隔开的一个字符串 例如 -a 就一个单词) 
ctrl + Y :      粘贴 (用了ctrl+ u 、ctrl+K 、ctrl+w 都会当做·剪切·)
ctrl + c        中止大部分的终端命令 (跟win 的alt+F4 类似)

历史记录

向上键: 按时间顺序向前查找使用过的命令。每按一次前进一个命令
向下键: 按时间顺序向后查找使用过的命令。每按一次前进一个命令
ctrl + R: 用于查找使用过的命令
history : 列出输入过的命令 
// history的用法还可以用 !编号 这样的格式重新运行 history输出对应的编号命令,比如 : !71 

比如 :
70 ls
71 date
72 cd /home

文件颜色区分

蓝色 : 目录
绿色 :可执行文件
红色 :压缩文件
浅蓝色  : 链接文件
灰色 :其他文件

文件操作

显示目录中文件
命令 【ls】
ls          显示当前目录下的所有文件及文件夹 (最常用的合并使用 ls -lath)
参数如下:
    -a :显示所有文件和目录,包括隐藏的
    -A : 跟-a 一样,不同的是不列出 . 和 .. 这2个文件
    -l : 列出显示文件和目录文件的详细信息列表
    -h : 用"K","M","G"来显示文件和目录的大小 ,表示“适合人类阅读” , h 是 humain readable 的缩写 ( 配合ls -lh 使用 )
    -t :按文件最近一次修改时间排序 (t 是time 的缩写 ) 
ll          以详细方式显示所有文件与文件夹。(相当于 ls -l 命令)  
切换目录文件
命令-cd
/**cd命令【切换目录文件】**/
cd          回到“家”目录 或者 cd ~ 也可以 (回到对应的用户的目录下  , ~ 波浪号就是家目录 )
cd  /user   打开user文件夹      如果不知道要打开的文件夹全称或名过长,可以按tab键盘自动补齐,如:cd  /u + table键,系统自动帮我们补齐成 /user 
cd ..      (后面空格加两点)返回上一级目录
cd ../../   连续后退2个层级 
统计目录大小
命令:du
du          查看文件和目录所占空间大小 (相比ls -l 命令 ,du命令统计才是真正的文件大小 )
参数如下:
    -h : 用户跟ls -h 命令一样,展示目录大小( 表示“适合人类阅读”)   
    -a : 加-a 显示目录和文件大小  (默认只展示目录的大小)
    -s : 只展示当前目录的总大小  (配合-h使用更佳 du -sh)

文件内容查看

具体命令有 cat、less、head、tail、more

cat命令

【一次性显示文件的所有内容】 适合小的文件
cat  [文件1]  
cat  [文件1] [文件2]  //可以连接多个文件查看 (cat log1.txt log2.text)
参数可选 :
    -n  //前面文件显示“行的序号” 
cat 1.txt       //查看文件

less命令

分页显示文件内容
less内容中的快捷键操作  (小写): 
空格键 : 文件内容读取下一个终端屏幕的行数 (前进一个屏幕的内容)
PageDown : (下一页)是跟空格效果一样的。
b键 : 后退一页 (跟键盘的PageUp 效果一样的)
d键 :前进半页 (半个屏幕)
u键 :后退半页 (半个屏幕)
回车 : 前进一行(文件内容读取下一行)
y键 : 后退一行 (跟键盘向上 效果一样的 )
q键 : 停止读取文件,中止less命令
=号 : 显示你在文件中的什么位置 (q 退出)
h键 : 帮助
/(斜杠) : 进入搜索模式 ,输入搜索条件  ( “next”,按n可以查看下一个符合搜索结果 ,大N 查看上一个符合的结果 )
q键 : 停止读取文件,中止less命令

head

head命令【显示文件开头】
参数:
  -n : 可以指定显示的行数 
head 1.text           //展示头部 10行  (默认展示10行)
head 1.text -n 5      //展示头部5行
head -n t 1.text      //展示头部5行 (效果也是一样的)

tail

显示文件结尾
参数:
    -n : //可以指定显示的行数
    -f : //可以实时追踪文件的更新 (尾部的光标一直在闪烁 )
tail1.text         // 展示头部 10行  (默认展示10行)
tail11.text -n 5     //展示头部5行
tail1-n t 1.text      //也是一样的
tail -f 1.text              //实时查看尾部数据
tail -f -s 4 1.text         // 加多一个参数 -s ,可以指定间隔检查的秒数 ,这里表示每隔4秒 (不加 -s 会每过1秒检查一下你的文件内容)

创建文件&目录

touch命令

创建一个空白文件
/**touch命令【创建一个空白文件】**/
touch test.txt                  //创建文件
touch test.txt test.txt2        //创建多个文件
touch "test book"               //创建带空格的文件 (不建议带空格)
mkdir命令
mkdir命令【创建目录】
mkdir new_dir                   创建目录
mkdir new_dir1 new_dir2         创建多个目录
mkdir "new dir"                 创建带空格的目录 (不建议) 
mkdir -p  one/two/three         //递归创建目录结构

文件的删、查、移、复制操作

cp命令

拷贝复制
参数
    -r : //拷贝目录(大写跟小写r 作用一样, r 表示 recursive 递归) ,拷贝的时候目录所有内容(子目录和文件) 都是会被拷贝
cp new_file new_file_copy               //拷贝文件
cp new_file    one/                     //拷贝文件到其他目录(one目录的名称)
cp new_file one/new_file_copy           //拷贝文件到其他目录=取别名
cp -r one one_copy                      //拷贝目录
cp *.text folder                        //把当前目录下所有text文件拷贝到folder目录中 (*通配符)
cp ha*  folder                          //把当前目录以ha开头的文件都拷贝到folder中(*通配符)

mv命令

移动文件&重命名文件
mv file  one                    //移动目录&移动文件  (将1.text 这个文件移动到 one目录  ,移动目录的话会将子目录所有移动 )
mv *.txt one                    //将当前目录下所有txt文件移动到one目录
mv new_file renamed_file        //将new_file 重命名为 renamed_file
mv new_file one/new_file1       //将new_file 移动到one目录并重命名

rm命令

删除文件&目录,这个命令谨慎使用,在linux中万物皆可删除
参数 :
    -i      //终端都会询问是否删除
    -f      //强制删除 (慎用-不询问)
    -r      //递归删除目录(包含子目录和文件)
rm new_file_copy                //删除当前目录下的new_file_copy 这个文件
rm file1 file2 file3            //删除多个文件 (空格隔开) 
rm -i file1                     //删除文件之前,终端都会询问是否删除 (y- 删除 n - 不删)
fm -f file1                     //强制删除 (慎用-不询问)
fm -r one                       //删除one目录(包含里的所有子目录和文件) 
rmdir  one                      //删除one目录 (只能删除空目录)      
fm -rf one                      //递归强制删除 one 目录 (慎用 , 不对目录下的每个文件提醒删除)

ln命令

链接(类似win的快捷方式)
ln file1 file2              //创建硬链接 ,一个文件file2 ,使之成为file1的硬链接  (只能创文件,2个文件的文件内容指向同一块,修改也会2个一起修改 )
ln -s file1 file2           //创建软链接 (创建文件&目录 ,一般用于目录,像win 快捷方式 , 可以理解为“file2是file1的快捷方式”  )
ls -i                       //2个文件关联,查看inode的号

find

文件查找
find /etc -name ini?        //查找/etc目录下,以ini开头的文件
find /etc -name ini*        //同上
find / -name "nginx"        //从根目录查找nginx文件
locate  aa.txt              //查整个系统中的aa.txt文件,locate,slocate命令后面跟文件或文件夹 ,不过在执行这个命令之前要先更新数据库,所以先执行 updatedb 命令

用户权限

切换用户

包含sudo、su
sudo                //在命令前加个 sudo 表示以管理员运行这条命令 ,比如 sudo mkdir xxx 
sudo su             //用户切换,一直成为root权限 , (密码储存在终端里 , 关闭当前终端再打开就需要重新输入密码 )
su [用户]           //切换用户 (加参数 ~ 波浪号可以输出信息,如果处于root权限,输入 exit也同效果)
sudo -i             //切换root (回到root的家目录中)

用户操作

添加用户、删除用户、修改密码
useradd lmq         //创建用户 (创建一个名为lmq的用户)
passwd  lmq         //修改用户密码 (按回车才会提示输入密码)
userdel lmq         //删除用户 (删除lmq的用户)
userdel -r lmq      //删除用户并把对应的用户目录也一并删除 

用户操作(usermod)

修改用户的命令、修改所在群组、加入群组等..
参数:
    -l ://对用户重命名 (/home中的用户家目录名不改变,需要手动修改)
    -g ://修改用户所在群组
    -G : //可以将一个用户添加到多个群组 (大写G)
usermod -l  lmq2 lmq                //用户重命名 (lmq改成lmq2)
usermod -g friends lmq2            //将用户添加到群组 (将lmq2添加到friends 的群组中 , 尽量用大G )
usermond -G friends,other lmq2     //一个用户添加到多个群组   **(群组之间用逗号分隔,而且没空格 ,剔除原来,新增后面 )**
usermod -aG  frends,other lmq2 

群组权限

命令包含groups、groupadd、groupdel、chown、chgrp 添加群组、删除群组、改变文件群组归属人
groups                  //获取当前用户有哪些群组
groups lmq2             //获取对应用户归属那些群组 
groupadd  friends       //创建群组 (创建friends的一个群组)
groupdel other          //删除群组 (删除other的群组)
chown lmq2 file.txt     //改变文件所有者 (把file.txt 转给lmq2用户 ,所在群组是不变的)
chgrp friends file.txt  //改变文件群组(file.txt改变到friends的群组中)

chown lmq2:friends file.txt // 组合使用 : (把file.txt 的所有者改成lmq2 ,群组改成friends)

文件权限

包含数字分配权限、字母分配

1. 数字分配权限

假如我要分配读、写权限,那么就是 4+2 ,等于6 ,数字6表示具有读写权限
访问的权限的三组 (所有者的权限,群组用户的权限,其他用户的权限) , 只要分别做加法就可以了,然后3个和连起来 (比如 664)
权限数字
r(读)4
w(写)2
x(执行)1
chmod 664 file.txt              //修改所有者权限为读写 、群组用户为读写、其他用户只可读
chmod 777 file.txt              //修改所有者/群组/其他用户都可以 读写、执行(最高)
chmod -R 777 /home/lmq           //递归的分配目录下的权限(-R 参数)
场景
[lmq@localhost ~]$ 
[lmq@localhost ~]$ ls -l file.txt 
-rw-rw--w-. 1 lmq lmq 0 10月 20 17:52 file.txt   

文件前面的-rw-rw--w-. 就表示权限 ,我们把-rw-rw--w-分为三部分,三位一组。如下

rw-rw-w-
所有者所属组其他用户

2.字母分配权限

字母分配更简单,linux分3类哟用户,【所有者、所属组、其他人】
u所有者
g所属组
o其他人

修改权限符号 : + 加权限 、 - 减权限 、 = 分配什么权限

chmod u+rx file.txt                 //文件的f所有者增加读和运行的权限 
chmod g+r file.txt                  //文件的群组用户增加读的权限
chmod o-r file.txt                  //文件的其他用户移除读的权限
chmod g+r o-r file.txt              //文件的群组用户增加读权限,其他用户移除读权限
chmod go-r file.txt                 //文件的群组用户和其他用户都移除读的权限 
chmod +x file.txt                   //文件所有用户都增加运行的权限
chmod u=rwx,g=r,o=- file.text       //文件所有者分配读写执行的权限 ,群组用户分配读权限,其他用户没用任何权限 
chmod -R 700 /home/lmq              //(递归以下的目录)只运行lmq用户读写运行的权限

包管理工具

切换Centos的软件源
//1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

//2、下载ailiyun的yum源配置文件到/etc/yum.repos.d/
 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

//3、运行yum makecache生成缓存
yum makecache
yum命令
【适用redhat家族使用】用yum命令安装软件,好处1、自动解决软件包的依赖关系,2、方便软件包升级
yum install nginx                //自动帮我们下载安装nginx

yum install xx                   //安装软件包 (xxx 对应的是软件包名 )
yum check-update                 //检测升级 
yum update/upgrade              //升级 (update不删除旧包, upgrade 删除旧包)
yum list                         //软件包查询
yum info                        //软件包信息
yum remove                         //删除软件包
yum search                      //搜索软件包
yum -help                         //帮助 
yum localinstall *.rpm          //本地的rpm软件包,用yum安装     
yum list | grep nginx           //查询是否安装nginx
apt-get命令
【适合debian家族使用】 跟上面的yum类似,解决软件包依赖关系
apt-get install nginx   //下载nginx
  • 基于deb包管理系统,debianubuntulinuxmintdeepin
  • 基于rpm包管理系统的,redhatcentosfedora
rpm命令
rpm -ivh sudo-1.7.2pl-5.el5. 5.el5 .rpm    //软件名(sudo),版本号(1.7.2pl),发行号(5.el5)和硬件平台(5.el5)
    -i  //安装所选择的一个或多个软件包
    -H  //用“#”显示完成的进度
    -q  //查询软件包系统或所选择的一个或多个软件包 
    -e //删除所有选择的一个或多个软件包 
    -u //把一个已经安装好的软件包升级到新版本 
    -v //验证已安装或已选择的一个或多个软件包
    -qa //展示所有已安装的(query all)

rpm -ivh sudo   //查询sudo软件包是否被安装

系统命令

man ls                     //查看系统中自带的各种参考手册 (有些系统没有就sudo yum install -y man-pages  安装)
apropos  ls                //根据手册的关键词来找到命令
whatis                     //whatis 是man命令的精简版 ,只会列出man命令显示手册的开头部分,就是概述。

free -m                 //查看系统运行内存
free -g                     //(Gb查看) 

cat /proc/meminfo
df -hl                     //查看硬盘大小

w                                //查看当前系统的负载 (跟uptime + who的组合)
uptime                            //查看系统的负载
who                                //查看当前登录的用户
ctrl+c                            //停止终端中运行的进程
sudo halt                        //停止系统
sudo reboot                        //重启系统
poweroff                        //也是关机 ,不需要root身份
su [用户名]                      //切换用户(su- 环境变量切换)
su - [用户名]                    //切换环境的时候也会切换环境变量

ctrl+shift+c                    //终端-复制
ctrl+shift+v                    //终端-粘贴

查找文件

locate命令

搜索包含关键词的所有文件和目录 (快速查找)
locate abc.txt               //列出abc本文所在的路径
locate function              //列出所有包含 function 的文件和目录 
updatedb                    //更新文件数据库

find命令

搜索包含关键词的所有文件和目录 (深入查找)

用法 : find 《何处》 《何物》 《做什么》

这几个参数中,只有《何物》是必须制定的,也极速要查找什么

  • 何处: 指定在哪里目录中查找 (子目录也会被查找) ,可以限定查找目录,比如只查找/home 目录下 , 默认没有给“何处” 参数, find命令就会当前目录以及子目录中查找。
  • 何物 : 要查找什么 ,可以根据文件的名字来查找
  • 做什么: 用find命令找到文件后,可以对每个文件做一定的操作, 称为 “后续处理” (不加这个参数,find只会显示找到文件)
根据文件名称查找
find -name "book"                //根据文件名查找  (-name 参数指定了文件名字,单引号不加双引号也行 )
find /var/log -name "log"         //在var/log目录下查找名为log的文件
find /var/log -name "log*"        //查找所有以log这个关键字开头的文件 
find /var/log -name "*log*"        //查找包含log这个关键字的文件 
find / -name "*log*"            //根目录整个硬盘查找
根据文件大小查找
find /var -size +10M                 //查找大于10M大小的文件 (加号)
find /var -size -50k                //查找小于50k大小的文件 (减号)
find /var -size 5M                //查找大小等于数值的文件 (无加减)
根据文件最近访问时间查找
find -name "*.txt" -atime -7         //查找近7天访问txt的文件 
仅查找目录或文件
find  /var/ -name  "log" -type d        //var目录下查找log的目录
find  /var/ -name  "log" -type f        //var目录下查找log的文件
find高级用法
find /home/ -name "*.txt"    -delete         //查找home目录下的所有txt的文件并删除
find /home/ -name "*.txt" -exec chmod 600{}\;         //home目录下所查找的txt文件访问权限改为600 ({} 会查找到每个文件来替换 ,\; 是必须的结尾)

文本内容查找

grep命令

筛选数据,查找关键词
参数 :
    -i : //忽略大小写 ,(默认情况下grep是区分大小写)
    -n : //显示行号 (显示文本所在的行号,n 是number 数字编号的意思)
    -v : //只显示文本不在的行 (跟搜索文本不在的那些行)
    -r : //在所有子目录和子文件中查找 ( r表示递归,注意最后一行路径是目录!)
    -E : //使用正则表达式 (e 是 extended regular expression 的意思)

grep "hi" /home/book.txt            //在book文本中查找“hello”字符
grep -i "hi"  /home/book.txt       //在book文本中查找“hello”字符,忽略大小写
grep -n "hi" /home/book.txt         //显示行号
grep -v "hi" /home/book.txt        //显示文本不在的行
grep -r "hi" /home/                 //在所有子目录和子文件中查找
rgrep  

grep高级用法 (正则表达式)

在ctenOS 和 Ubuntu 这样的Linux发行版,不加-E 参数也是始终激活的
grep -E "hi" /home/boo.txt                //匹配hi 的字符串 (普通字符写法)
grep -E ^hi /home/book.txt                //^匹配行首 (匹配输入字符串的开始位置)
grep -E [Tt]    /home/book.txt            //匹配大小写的Tt 字符串
grep -E [0-4]    /home/book.txt           //匹配搜索包含0~4的任一数字的行
grep -E [a-zA-Z] /home/book.txt           //匹配a至z或A至Z的任意字母的行

grep其他用法

配合其他命令+管道符查询软件
ps -ef | grep nginx         //查看nginx的进程

文件内容数据处理

文件内容排序
命令-sort
参数 :
    *  -o :// 将排序后的内容写入新文件 (o 表示output的首字母,表示输出 )
    *  -r : //倒序排列 (r 是reverse 的缩写, 是相反的意思。与普通仅用sort命令相反 )
    *  -R ://随机排序 (R 是英文 random 随机 )
    *  -n ://对数字排序

sort name.txt                       //将文件内容排序 (正序)
sort -o name_sort.txt  name.txt     //将排序好的内容写入新文件
sort -r name.txt                     //倒序
文件内容统计
命令-wc , wc命令显示的3个数字 : 第一个 : 行数 , 第二个 :单词数 ,第三 :表示字节数
参数 :
    -l :   //统计行数 (line的缩写)
    -w :   //统计单词数 (用空格隔开的字符串) 的数目
    -c :   //统计字节数
    -n :   //对数字排序
    -m :   //捅进字符数

wc name.txt         //文件统计
wc -l name.txt      //统计文件的行数
删除文件中重复内容
命令-uniq ,uniq 只能将连续的重复行变成一行
参数 :
    -c :   //统计重复的行数
    -d :   //只显示重复行的值
uniq name.txt                    //只能将连续的重复行变成一行
uniq name.txt new.txt            //将筛选好的数据统计到新的文件中
uniq -c name.txt                //统计重复的行数
uniq -d name.txt                //只显示重复行的值
剪切文件的一部分内容
命令-cut
参数
    -d : //分割符 , 用于指定用什么分隔符(比如逗号,分好,双引号...)
    -f : //区域 ,剪切用分隔符的哪一块或哪几块区域
cut -d , -f 1 1.txt         // 用逗号分隔符区域,取第一个区域的内容

重定向符号&管道

重定向
/**重定向到新文件**/
cut -d  , -f 1 1.txt > name.txt             //剪切1.txt部分内容重定向新的文件中

/**重定向到文件末尾**/
cut -d  , -f 1 1.txt >> name.txt         //剪切1.txt部分内容重定向追加内容到文件中

/**2> ,2>>,2>&1 重定向错误输出**/
cat str.txt > name.txt 2> err.txt         //str的文件 ,存在就存name.txt ,不存在就存err.txt 中
cat str.txt >name.txt 2>&1                  //正确的错误的,都重定向一个文件
cat str.txt >> name.txt 2>&1               //正确的错误的,都追加写一个文件里
管道符
ps -ef | less                           //分页展示进程
ps -aux |grep php-fpm                    //查看进程
du | sort -nr |head                        //根据大小排序目录

系统进程

ps命令

进程的静态列表
ps                                  //查看当前用户当前终端的进程
ps -ef                              //查看所有用户所有终端的所有进程
ps -ef |less                        //配合管道符,分页查看进程
ps -efH                             //以乔木状查看进程
ps -u 用户名                         //列出此用户运行的进程
ps -aux                             //通过cpu和内存使用过滤进程
ps -aux --sort -pcpu | less         //根据cpu使用率来降序排列
ps -aux --sort -pmem | less            //根据内存使用率来降序排列
pxs -aux --sort -pcpu,+pmem | head  //将cpu和内存参数合并,并通过管道显示前10个结果
ps -axjf                             //以树形结构显示进程 (跟 pstree效果同)

top命令

进程的动态列表
top                //动态的查看进程

键盘上的操作 :
    h :         //显示帮助文档
    b:          //大写的B,加粗某些信息
    f/ F :     //在进程列表中添加或删除某些列 (改变进程所参照的列 , 默认按%CPU排序)
    u :         //按照用户来显示
    k :         //结束某个进程
    s :         //改变刷新页面的时间 (默认3秒刷新一次)
    按任何键返回,按q回到top命令主界面

kill

结束某个进程 , 进程列表有个PID的唯一标示,根据这个去关闭。
kill 25500                        //结束25500的PID进程
kill 25500 25501 25502            //结束多个进程(空格隔开)
kill -9 25500                     //立即强制结束进程
killall mysql                     //结束mysql所有的进程

文件压缩与解压

归档就是打包一个总文件,压缩就是减少体积。
文件压缩分2个步骤(归档->压缩), 解压也是(先解压-->再解归档)。

tar命令

参数如下

  • c : create的缩写,表示“创建”
  • v : verbose的缩写,表示“冗余”, 会显示操作的细节
  • f : file的缩写,表示“文件” ,指定归档文件
  • x : 是extract的缩写,表示“取出,剔取”的意思
tar -cvf  book.tar /home/book/                  //在book目录进行tar归档  
tar -cvf book.tar 1.txt 2.txt 3.txt             //文件在不同目录下归档
tar -xvf  book.tar                              //解开归档
tar -tf book.tar                                //显示归档的内容,不解开
tar -rvf book.tar 4.txt                         //追加文件到归档 (将4.txt添加到book.tar中)
gzip跟tar结合
在tar命令前加多了一个“z” ,代表gzip
tar -zcvf book.tar.gz book/                 //归档并且用gzip压缩
tar -zxvf book.tar.gz                       //解压gzip并且解开归档
bzip2跟tar结合
在tar命令前加多了一个“j” ,代表bzip2
tar -jcvf book.tar.bz2 book/                //归档并且用bzip2压缩
tar -jxvf book.tar.bz2                      //解压bzip2并且解开归档
显示用gzip/bzip2 压缩的文件的内容
/** zcat /bzcat, zmore/ bzmore ,zless /bzless  **/
zcat book.tar.gz         #查看压缩文件的内容
bzcat book.tar.bz2        

gzip和bzip2命令 (将tar文件压缩)

  • .tar.gz : 用gzip命令压缩后的文件后缀名
  • .tar.bz2 :用bzip2命令压缩后的文件后缀名
gzip book.tar                   //将tar文件压缩 (格式 book.tar.gz)
bzip2 book.tar                  //将tar文件压缩(格式 book.tar.bz2)

gunzip book.tar.gz               //解压gz格式,返回tar归档
bunzip2 book.tar.bz2            //解压bz2格式 ,返回tar归档

zip和rar命令

有些发行版没有zip包,需要安装, 安装 sudo yum install unzip
sudo install yum install zip
unzip book.zip              //解压zip文件
unzip -l book.zip           //不解压.zip文件,只看其中内容
zip -r book.zip book/       //压缩为.zip文件 (-r是递归的)

定时任务

date命令
date "+%H:%M:%S"            //输出时分秒
date "+%Y:%m:%d"            //输出年月日 
date "+%H时:%M分:%S秒"       //输出时分秒-带中文

sudo date 10121430          //表示修改时间为 10月12号14点30分

at命令

执行一次性的定时命令 ,先用at命令后接 想要程序执行的确定时刻 再输入你想要在以上指定时刻执行的命令
[root@VM_0_4_centos ~]# at 14:12
at> touch file.txt
at> <EOT>
job 1 at Wed Nov 11 14:12:00 2020
[at命令] 在指定间隔之后执行程序
关键词:minutes-分钟 ,hours-小时 ,days - 天 ,weeks-星期 , months-月 , years-年

at now +10 minutes      //10分钟后执行
at now+7 weeks          //在7个星期后执行
at其他命令
atq         //列出正等待执行的at任务
atrm 3      //删除正在等待执行的at任务[编号]

sleep命令

touch file.txt ; sleep 10 ; rm file.txt    //10秒后删除
touch file.txt ; sleep 10m ; rm file.txt    //10分钟后删除

crontab命令

基础命令

crontab -l      //显示crontab文件
crontab -e      // 修改crontab文件
crontab -l      //删除crontab文件

定时任务

10 22 * * *  touch ~/file.txt   //每天的22点10分都在家目录下创建file.txt 文件
47 * * * * command              //每个小时的47分都执行command命令
0 0 * * 1 command               //每个礼拜一的凌晨都执行command命令
*/1 * * * *  echo "1111" >> /home/1.txt     // 每1分钟执行command命令 并写入日志进去
30 5 1-15 * * command           //每个月的1~15日的5点30分执行command命令 
0 0 * * 1,3,4 command                   //每个礼拜一,礼拜三,礼拜四的凌晨执行command命令
0 */2 * * * command     //每2个小时的整点(0,2,4,6 等等)都执行command命令

* * * * * sleep 30; /home/run.sh    //每30秒执行一次 (虽然最小值是分钟,可以利用sleep去进行操作)

防火墙

systemctl start firewalld                                //开启防火墙
systemctl status firewalld                              //查看防火墙是否运行
systemctl stop firewall                         //停止防火墙 (粗暴的方法)

firewall-cmd --list-ports                               //查看开放的端口(所有)
firewall-cmd --zone=public --query-port=80/tcp                  //查看指定开放端口


firewall-cmd --get-default-zone                                 //查看端口区域(默认在 public)
firewall-cmd --zone=public --add-port=80/tcp --permanent        //防火墙开放80端口
firewall-cmd --zone=public --add-service=mysql --permanent      //(用名字添加服务)

firewall-cmd --zone=public --remove-port=80/tcp --permanent     //不开放80端口
firewall-cmd --reload                                           //重载配置的防火墙策略

文件传输

wget命令
下载文件 ,wget可以使我们直接从终端控制台下载文件,只需要给出文件的HTTP或FTP地址
wget [参数] [url地址] //命令格式
yum install wget    //安装wget
wget -c xxx         //加入-c参数 ,继续中断的下载

scp命令

scp 可以使我们通过网络,把文件从一台电脑拷贝到另一台(文件互传)
scp [源文件-被拷贝的文件] [目标文件-拷贝产生的文件]
scp user@ip:file_name user@ip:file_name     //ip地址表示
[scp命令]从自己电脑拷贝文件到另一台电脑
scp file.txt root@192.168.238.130:/root       //当前file.txt拷贝到远程电脑
scp -P 8899 file.txt root@192.168.238.130:/root  //不同端口号   
[scp命令]从到另一台电脑文件拷贝到自己电脑
scp  root@192.168.238.130:/root/file.txt  file.txt 

rsync命令

rsync命令主要用于 远程同步文件 ,需要安装 yum install rsync ,
参数 : 
    -a      //保留文件所有信息,包含权限。修改日期等等 ,a是archive ”归档“的意思
    -r      //递归调用, 表示子目录所有文件也包括 
    -v      //输出详细操作信息
    
//用sync备份到同一台电脑的其他目录
rsyn -arv Imgages/backups/      // 将images目录下所有文件备份到backups目录下

//同步删除文件
rsync -arv --delete Images/backups/     //同步删除操作

//用sync备份到另一台电脑的目录
rsync -arv --delete Images/ user@192.168.238.130:backups/

sftp命令

sftp user@ip                            // 链接sftp
sftp -oPort 8899 user@192.168.230.130    //修改端口 8899 

ftp命令

从公共的ftp服务器下载文件、 从私有的ftp服务器上传或下载文件 ,需要安装 yum install ftp
ftp -p  ftp.cn.debian.org/debian        //连接法国的ftp的debian
ftp操作命令
跟linux的命令都差不多,大同小异,ls是列出目录,pwd显示路径等...
ls          //列出当前目录的文件
pwd         //显示当前目录路径
cd          //转换目录
delete      //删除文件(不是rm)

get xxx.txt     //进去ftp后,下载文件
put xxx.txt     //进入ftp后,上传文件

配置文件

用户信息文件:          /etc/passwd
密码文件:              /etc/shadow
用户组文件:            /etc/group
用户组密码文件:        /etc/gshadow
用户配置文件:          /etc/login.defs
网络网卡文件            /etc/sysconfig/network-scripts/ifcfg-[网卡名]
0

评论 (0)

取消