用户登录Linux系统时,自动加载一个Shell程序
”~“ 表示我们在家目录下面
Tab 键 一次TAB可以补全命令,两次TAB显示可用命令
反斜杠“\” 换行显示(不影响整个单词)
Ctrl+U 快捷键 删除光标到行首
Ctrl+K 快捷键 删除光标到行位
Ctrl+L 快捷键 清屏
Ctrl+C 快捷键 终止
Ctrl+A 快捷键 光标到行首
Ctrl+E 快捷键 光标到行尾
“.”作用 以当前的工作目录作为起点
例:假设现在在a目录当中
ls ./b/c = ls /etc/a/b/c
“..”作用 以当前目录的上一级目录(父目录)作为起点
例:假设现在在a目录当中
ls ../ = ls /etc
cd ../ = cd /etc
结合通配符
“?”:匹配文件名中的一个未知字符
“*”:匹配文件名中的任意多个字符
--help
例:cat --help 寻找帮助cat这个命令如何使用
使用man 手册页
man cat 可以做到--help同样的效果
在里面可以直接输入 /cat 可以将cat这个关键字标识出来
n可以向下查找 N可以向上查找
page Up 翻页
page Down
命令
pwd 显示用户当前所在的工作目录位置
mkdir 创建目录
mkdir -p 创建连续的目录
touch 创建文档
cd 切换目录
cd - 切换到上一次执行cd命令的地方
cd ~ 切换到当前用户的家目录下(直接cd 一样的效果)
ls 列表显示目录内容
ls -l (可直接敲ll) 显示列表详情信息
ls -a 显示隐藏文件夹
ll -d x* 可以列出x为开头的目录
ll -d *l 可以列出l为结尾的目录
rm 删除
rm -r 递归地删除目录及其内容
rm -f 删除不提示消息
ps:可直接使用 rm -rf
alias 通过别名机制简化常用的、比较长的命令
格式: alias 命令别名 = 命令
例: alias yyds = ‘ls – alh’
设置yyds(自定义设置) 为 ls – alh 这条命令的别名
du 统计指定目录(或文件)所占用磁盘空间的大小
du -a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
du -h 显示出目录或文件的大小(K、M),默认的大小单位为字节(KB)
du -s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小
du -sh(常用) 只统计每个参数所占用空间总的代销,用KB来显示单位(或其他单位)
du -ah 统计磁盘占用时包括所有文件,用KB来显示单位(或其他单位)
“!”:加命令可以执行上次执行的命令
例:vim /etc/aa
! vim 可以直接执行上一次执行的vim
cat 查看文件内容
vim 编辑文件内容
ln 创建链接文件
ln -s 创建软链接
ln cc uu 创建硬链接,cc文件复制一个uu(在一个分区之内都可以复制)
cp 复制
-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i 覆盖目标同名文件或目录时提醒用户确认
-p 复制时保持源文件的权限、属主及时间标记等属性不变
-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
PS:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在
mv 剪切
例:mv cc /etc/aa 将当前目录下的cc剪切到/etc下并改名叫aa
mv cc /etc 将cc剪切到/etc下
查找命令/文件存放目录
which 命令|程序名
which -a 命令|程序名
例:which ls 可以查找到ls这个命令所在的位置
echo $PATH 当前所在环境变量
find 多个查找条件
“-a”表示 而且(and)
“-o”表示 或者(or)
例 : find /boot +1024k -name "*.conf“ -type d
解释: 在boot目录下查找大于1024k的文件并且是.conf结尾的目录(不加type是查找所有)
[root@localhost ~]# find / -name "a*" -size +20k -size -50k -exec cp -r {} /tmp \;
复制:{}为前面查找出来的内容, 后面跟位置, \;为格式需要
查找类型
关键字
说明
按名称查找
-name
根据目标文件的名称进行查找,允许使用“*”及“?”通配符
按文件大小查找
-size
根据目标文件的大小进行查找
一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件
常用的容量单位包括 kB(注意 k 是小写)、MB、GB
按文件属主查找
-user
根据文件是否属于目标用户进行查找
按文件类型查找
-type
根据文件的类型进行查找
文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)链接文件(l)等
块设备是指成块读取数据的设备(如硬盘、内存等),字符设备是指按单个字符读取数据的设备(如键盘、鼠标等)
在CentOS系统中,各种系统服务的控制脚本默认放在/usr/lib/systemd目录下。通过systemctl命令工具可以实现对指定系统的控制,语法格式如下:
systemctl 控制类型 服务名称
对于大多数服务来说,常见的集中控制类型如下所述。
》start(启动):运行指定的系统服务程序,实现服务功能。
》stop (停止):终止指定的系统服务程序,关闭相应的功能。
》restart(重启):先退出,再重新运行指定的系统服务程序。
》reload(重载):不退出服务程序,只是刷新配置。在某些服务中与restart的操作相同。
》status(查看状态):查看指定的系统服务的运行状态及相关信息。
例如:{root@localhost~}#systemctl start postfix.service
操作系统可以启动尚未运行的postfix服务。
例:启动 、停止、重启、重载、查看 防火墙
systemctl start firewalld
systemctl stop firewalld
systemctl restart firewalld
systemctl reload firewalld
systemctl status firewalld
systemctl stop firewalld
systemctl stop firewalld 关闭防火墙
systemctl disable firewalld 下次开机不启动防火墙
PS:先关闭防火墙,再永久关闭防火墙
systemctl enable firewalld 开启自动启动
systemctl status firewalld 查看防火墙
关闭 安全Linux
vim /etc/selinux/config 修改配置文件
SELINUX=disabled 修改成disabled
setenforce 0 临时关闭安全Linux
程序和进程的关系
程序
保存在硬盘、光盘等介质中的可执行代码和数据
静态保存的代码
进程
在 CPU 及内存中运行的程序代码
动态执行的代码
父、子进程
每个进程可以创建一个或多个进程
ps命令
查看静态的进程统计信息
语法:ps -elf
top命令
查看动态的进程排名信息
语法: top
查看进程信息 pgrep
pgrep命令
根据特定条件查询进程 PID 信息
语法:pgrep -l "log" 查找带有log的进程
pgrep -l -U teacher -t tty1
-U:指定特定用户
-t:指定终端
-l:显示进程名
查看进程信息 pstree
pstree命令
以树形结构列出进程信息
语法:pstree -aup
-a:显示完整信息
-u:列出对应用户名
-p:列出对应PID号
进程的启动方式
手工启动
前台启动:用户输入命令,直接执行程序
7启动:在命令行尾加入“&”符号
语法:cp /dev/cdrom mycd.iso & 输出信息中包括后台任务序号、PID号
调度启动
使用 at 命令,设置一次性计划任务
使用 crontab 命令,设置周期性计划任务
进程的前后台调度
Ctrl+Z 组合键
将当前进程挂起,即调入后台并停止执行
jobs 命令
查看处于后台的任务列表
fg 命令
将后台进程恢复到前台运行,可指定任务序号
终止进程的运行
Ctrl+C 组合键
中断正在执行的命令
kill、killall 命令
kill用于终止指定PID号的进程
killall用于终止指定名称的所有进程
-9 选项用于强制终止
pkill命令
根据特定条件终止相应的进程
常用命令选项
-U:根据进程所属的用户名终止相应进程
-t:根据进程所在的终端终止相应进程
计划任务管理 at
一次性计划任务
语法:at [HH:MM] [yyyy-mm-dd]
crontab命令
按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作
属于周期性计划任务
主要设置文件
全局配置文件,位于文件:/etc/crontab
系统默认的设置,位于目录:/etc/cron.*/
用户定义的设置,位于文件:/var/spool/cron/用户名
管理cron计划任务
编辑计划任务
语法:crontab -e [-u 用户名]
查看计划任务
语法:crontab -I [-u 用户名]
删除计划任务
语法:crontab -r [-u 用户名]
时间数值的特殊表示方法
* 表示该范围内的任意时间
, 表示间隔的多个不连续时间点
- 表示一个连续的时间范围
/ 指定间隔的时间频率
应用示例
0 17 * * 1-5 周一到周五每天17:00
30 8 * * 1,3,5 每周一、三、五的8点30分
0 8-18/2 * * * 8点到18点之间每2小时
0 * */3 * * 每3天
50 7 * * 1 /usr/bin/rm - rf /var/ftp/pub 每周一清空/var/ftp/pub的文件
30 22 * * * date > /var/log/df.log3;df -hT >> /var/log/df.log3 查看已挂载磁盘分区的磁盘使用情况,将输出结果追加保存到文件/var/log/df.log