service iptables status 查看防火墙状态
service iptables start 打开防火墙(本次有效,下次开机后恢复原设置)
service iptables stop 关闭防火墙(本次有效,下次开机后恢复原设置)
chkconfig iptables off 关闭防火墙(下次开机仍然有效)
chkconfig iptables on 打开防火墙(下次开机仍然有效)
chkconfig --list|grep iptables 验证防火墙的当前状态
hostname 查看当前主机名
hostname bogon1 修改当前主机名为bogon1
vim /etc/sysconfig/network 修改主机名(使用hostname设置完成之后,使用这条命令修改一下network中的主机名)
ls -l /usr/local 同ll 查看指定目录下文件信息 -开头:文件 d开头:文件夹 l开头:软连接文件
ls -a /usr/local 显示所有文件,包含隐藏文件
tab键 自动补全
clear 清屏
touch 文件名 创建一个空文件
mkdir 文件夹名 创建一个文件夹
mkdir -p 带分隔符的多个文件夹名 递归创建文件夹
rm -rf 目录 递归删除指定目录下的所有内容
cp -r 源文件 目标文件 递归拷贝
rm -f 文件名 删除文件
rm -r 目录名 删除目录
rm -rf 目录名 递归删除指定目录及其里面的所有内容
cat 文件名 查看文件内容(如果内容较多可能显示不全)
more 文件名 查看文件内容(可以完全显示),使用空格进行翻页,使用回车显示下一行,使用q键可以退出(或Ctrl+C)
head -number 文件名 查看文件的前多少行
tail -number 文件名 查看文件的后多少行
mv 源文件名 新文件名 修改文件名称
mv 源文件名 新文件所在的位置及文件名 移动文件的位置
ln 源文件 目标文件 创建硬连接,硬链接大小和源文件一样,并且是同步更新的。硬连接不能跨文件系统分区
ln -s 源文件 目标文件 创建软连接,相当于快捷方式,直接指向源文件。软连接可以跨文件系统分区
chmod 777 文件 给文件的所有者、所属组、其他人分别分配读、写、执行的权限
chmod u+x b.sh 给当前用户添加执行b.sh的权限 u:所有者 g:所属组 o:其他人 -:取消权限 +:添加权限 =:赋予权限
chmod u=rwx b.sh 给当前用户赋予读、写、执行b.sh的权限
文件的w权限和目录的W权限不同:
文件的w代表:修改文件的内容等写操作,但是不代表可以把这个文件删除。删除文件的权限是需要拥有当前文件所在目录的写权限的
目录的w代表:可以在目录下创建或者删除文件的权限
su - 普通用户名 切换到指定的普通用户
root切换到普通用户可以不用输入密码 普通用户切换到root用户、普通用户都是需要输入密码的
chown user 文件 改变文件所有者
chgrp group 文件 改变文件所属组
useradd username 添加用户
passwd username 设置指定用户的密码
umask -S 查看系统默认的权限
find 搜索范围路径 -name 文件名称 在指定的路径范围内,根据文件名查找
find 搜索范围路径 -size (+/-)文件大小 在指定的路径范围内,查找大于或者小于指定大小的文件。文件大小以数据块为单位,数据块大小是512bit,1k=2block
find 搜索范围路径 -user 文件的所有者 在指定的路径范围内,查找指定所有者为指定用户的文件
在find文件搜索命令中,可以使用*匹配任意字符,使用?匹配指定字符
find /usr/local -name *abc 在/usr/local路径下面匹配所有文件名以abc结尾的文件
find应用的连接符: -a 逻辑与 -o 逻辑或
find /usr/local -size +1024 -a -name abc* 查找size大于1024且文件名以abc开头的所有文件
find /usr/local -name abc.txt -exec rm -f {} \; 在/usr/local中查找abc.txt,然后将其删除掉
which 查看命令所在的位置
which rm 查看命令rm所在的位置
在linux中每个文件都有其对应的i节点
ls -li 查看文件详情并显示i节点号
locate 文件名称 根据linux数据库内部索引,查找文件。因为locate查找的是linux系统构建的文件数据库索引值,速度比find要快很多。对于新创建的文件,可能会因为这个新文件的索引还没有及时更新到linux系统文件数据库里,所以可能对新创建的文件locate命令查找不到。使用updatedb命令可以手工更新updatedb数据库。
man 命令 获取命令的帮助文档
命令 --help 查看命令的使用帮助信息
gzip 文件名称 压缩文件,只能压缩文件不能压缩目录
gunzip 已压缩的文件名称 解压缩文件
tar zcvf 打包后文件名.tar.gz 源文件 将源文件进行打包
tar zxvf 待解包文件名.tar.gz -C 解压后存放路径 将文件进行解压缩并存放到指定位置
source /etc/profile 配置完环境变量后,让环境变量生效
zip -r 压缩后文件名称 源文件 将源文件进行压缩,并指定了压缩后的文件名称。如果压缩的是目录则需要添加-r
unzip 待解压缩的文件 -d 解压缩后存放的路径 将文件进行解压缩,并将解压缩后的结果存放到指定的路径
zip与unzip是linux与windows通用的
ping -c 次数 ip地址 ping指定的ip地址指定的次数
shutdown -h now 关机
reboot 重启
ctrl+l 清屏
grep 将指定内容进行过滤后输出
| 管道 将前面命令执行的输出作为后面命令的输入
ls -l /usr/local|grep abc|wc -l 执行前面的ls命令,过滤文件名包含abc的文件,并计数输出
命令1&&命令2 逻辑与,第一个命令执行成功则第二个命令才会执行
命令1||命令2 逻辑或,第一个命令执行成功则第二个命令不再执行;若第一个命令执行失败则会执行第二个命令
> 输出重定向符号
ls -l /usr/local > a.log
>>输出追加符号
<输入重定向
wall < a.txt 将a.txt中的内容输入并广播
2> 错误重定向符号,将执行的错误日志信息存放到指定的log日志中去
abcdef 2> a.log 将命令执行的错误信息写到a.log中
vim a.txt 回车后进入命令行模式,点击键盘的i键进入插入模式,点击esc又退回到命令行模式。在插入模式下输入:进入编辑模式。
在编辑模式下输入wq则保存并退出;输入q!则不保存并退出
vim的插入模式 i:在光标前插入文本 I:在本行的开始插入文本 a:在光标后插入文本 A:在本行的行末附加文本 o:在光标下插入新行 O:在光标上插入新行
set number 设置行号
set nu 设置行号
set nonu 取消行号
在编辑模式后,输入行号,可以跳转到指定的行
在命令模式下,输入dd,可以删除光标所在的行
在编辑模式下,输入n1,n2d ,可以删除指定范围内的行
在命令行模式下,输入yy,可以复制当前行
在命令行模式下,输入nyy,可以复制当前行以下n行
在命令行模式下,输入p,可以粘贴到光标所在行的行下
在命令行模式下,输入P,可以粘贴到光标所在行的行上
vim在编辑模式下,可以执行搜索
在冒号后面,输入/string ,可以搜索指定的字符串。通过键盘的n键可以在多个搜索结果之间进行切换,查看下一个出现的位置
在冒号后面,输入%s/old/new/g ,可以全文替换指定字符串
在冒号后面,输入n1,n2s/old/new/g ,可以在n1与n2行之间的范围内,替换指定字符串
在命令模式下,输入ZZ,可以实现保存并退出
cat /etc/passwd 查看用户信息文件
Linux用户分为三种:超级用户(UID=0)、普通用户(UID 500-60000,若添加普通用户则UID会从500开始默认递增)、伪用户(UID 1-499,在linux系统中任何的进程操作都需要有一个用户身份,伪用户一般是与linux系统和服务相关的,它是无法登陆系统的)
cat /etc/shadow 查看密码文件
cat /etc/login.defs cat /etc/default/useradd 查看用户配置文件
cat /etc/skel 查看新用户信息文件
cat /etc/gshadow 查看用户组密码文件
cat /etc/group 查看用户组文件
groupadd -g 1005 newgroup 添加用户组newgroup,并且给它指定了一个组id
cat /etc/group|grep newgroup 查看并过滤组newgroup
groupdel newgroup 删除用户组newgroup
groupmod -n newgroup oldgroup 修改newgroup用户组名为oldgroup
useradd abc 添加用户abc
usermod -l abc def 修改用户的用户名为def
userdel -r def 删除用户def
usermod -L abc 禁用用户名abc
passwd -l abc 禁用用户abc的密码
usermod -U abc 恢复用户名abc
passwd -u abc 恢复用户abc的密码
gpasswd -a abc oldgroup 添加用户abc到用户组oldgroup
gpasswd -d abc oldgroup 从用户组oldgroup中删除用户abc
& 在命令后面添加&标识作为后台进程去执行,否则为前台进程。后台进程允许同步执行,前台进程则必须等待其执行完毕后才能进行其他操作
w 查看用户信息。其中load average表示系统在过去的1分钟、5分钟、15分钟负载程度。系统的平均负载可通过这三个对应的负载值求平均值,如果平均值小于0.8则系统正常,如果为几十或者上百,表示系统的负载很高,很可能出现无法响应任何命令的情况。
ps -el 查看所有的进程,包括没有终端的进程
ps -aux 查看所有用户的进程,可以显示当前进程占用CPU和内存的百分比,显示用户名和启动时间,显示没有控制终端的进程
ps -aux --sort pid 查看所有用户的进程,并以pid字段进行排序
ps -C xxx 查询与xxx完全匹配的进程
kill 进程号 关闭进程
kill -9 进程号 强制关闭进程
kill -1 进程号 重启进程
killall 结束所有进程
nohup program & 使进程在用户退出登录后仍旧继续执行,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能
fg 任务编号 把指定编号的任务恢复到前台继续执行
bg 任务编号 把指定编号的任务恢复到后台继续执行
top 进程状态显示和进程控制,每隔5秒钟自动实时刷新一次。输入d可以指定刷新的间隔时间;输入u可以查看指定用户的进程;输入k可以终止指定的pid的进程
at [-f 文件名] 时间 在指定的时间执行一次任务。可以采用绝对计时、相对计时。(Ctrl+d保存任务并退出)
at -l 查看队列中的任务
at -d 删除队列中的任务
crontab {-l|-r|-e} -l:显示任务 -r:删除任务 -e:编辑定时任务。
crontab -e 编辑定时任务。注意定时任务中使用的命令一定是使用绝对路径。
计划命令的时间格式:分钟 小时 天 月 星期 命令/脚本 。第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
service crond restart 重启crontab服务
service crond start 启动crontab服务
service crond stop 停止crontab服务
ps -aux|grep crond 查看定时任务是否开启着
yum属于redhat系列(包含CentOS)linux操作系统下的软件包安装方式,自动解决软件包的依赖关系,并且方便软件包升级
yum install 软件包名称 下载和安装指定的软件包
yum update 软件包名称 升级指定的软件包
yum remove 软件包名称 删除指定的软件包
yum info 软件包名称 查看指定的软件包信息
wget是一个软件下载工具,支持HTTP,HTTPS和FTP协议,支持自动下载,即可以在用户退出系统之后在后台执行。
wget URL地址 下载指定的文件
wget -c URL地址 重新启动下载中断的文件
wget -b URL地址 对于下载比较大的文件时,可以使用-b参数进行后台下载
反引号``是命令替换,命令替换是指Shell可以先执行``中的命令,然后将其结果替换出来,再重组成新的命令行。在bash中,$( )与` `(反引号)都是用来作命令替换的
0:表示键盘输入(stdin)
1:表示标准输出(stdout)
2:表示错误输出(stderr)
command >/dev/null 2>&1 & == command 1>/dev/null 2>&1 &
1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。
" >/dev/null 2>&1 "常用来避免shell命令或者程序等运行中有内容输出
yum -y update 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y upgrade 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
查看当前Linux的系统版本
cat /etc/issue
查看当前Linux的内核版本
cat /proc/version 或 uname -a