常用快捷
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包管理系统,
debian
,ubuntu
,linuxmint
,deepin
- 基于rpm包管理系统的,
redhat
,centos
,fedora
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)