linux常用命令解解释
linux系统操作常用命令重要参数总结
ls 显示目录 常用参数 -l 列表显示 -h 以KB MB 显示 -a 显示隐藏文件 -i 查看文件或目录的i节点
cd 切换目录 cd ~ 切换到宿主目录 cd - 切换到上一个目录
mkdir 创建目录 参数 -p 创建递归子目录
rm 需要加上参数才能删除目录 -f 删除目录 -r 递归子目录 (RHEL5.2可以使用rm 加上目录名删除空目录,但是centos不可以,想要删除空目录需要使用rmdir命令)
rmdir只能删除空目录而rm加上选项可以删除有文件或子目录的目录建议使用rmdir先删除,看一下是不是空目录,如果不是最好检查一下是不是还有需要的文件或目录
mkdir 可以同时创建 多个目录并且可以不再有一个目录下
touch 创建文件
echo 输出内容也可以输入内容到指定文件 echo "zhangsan" > 123.txt
pwd 显示当前的工作目录
shutdown -h now 关机
shutdown -r now 重启
cat 显示文件内容 -n 显示行号
tac 显示文件把内容 翻转查看
more 分页显示内容 空格/f 下一页 b上一页 q退出 enter一行一行查找
less pgup向上翻一页 上键翻一行 /查找的内容进行查找
cp 复制文件/目录 -f 强制复制 -r 递归子目录,拷贝目录是必须加 -p保留源目录属性
rm 删除文件/目录 -r 递归子目录 -f强制删除
mv 移动文件/目录 在同目录下可以进行重命名 修改时间戳
vi 、vim 文本编辑器 vim功能更强大
末行模式 :q!强制退出不保存 :wq 保存并退出 :w 保存不退出 :e 打开另外一个文件 :set nu 显示当前行号 :% sub/zhangsan/lisi/g 强制把文件内zhangsan改为lisi /查找的内容
替换文本 两种方式
1、 n,n s/原文本/要替换的文本/g(强制替换) 指定多少行之间
% s/原文本/要替换的文本/g(强制替换) 替换整个文本的内容
:1,4s /^/#/g 1-4行在开头添加 一个#号
:1,4s /^#//g 删除已#号开头的文件
:r 复制一个文件的内容到当前文件
:! date (date是命令) 可以把命令的结果导入到当前文本中
在vi编辑器中可以定义快捷键 格式 ctrl+v+p(p是定义的快捷键) I#<esc> (v是必加的)
意思:定义快捷键ctrl+p =移动到行首并添加#号之后退出到命令模式
其中I是移动行首并插入#插入的对象<esc>返回到命令模式
快捷键就是ctrl+p
必须在用户的家目录写入文本才能应用所有文本文件 并且开机之后还能使用 vim编辑一个*.vimrc文件输入需要的快捷键
命令模式 :dd 删除一行 *dd 删除多行 yy 复制一行 *yy复制多行 del删除一个字符 粘贴 p P 剪切也是dd 使用p P 粘贴 u 撤销一步 U 撤销全部 a在光标之后插入 A在光标所在行尾插入 i在光标所在字符前插入 I在光标所在行首插入 o在光标下插入一行 O在光标上插入新行 0(零)移到行首
gg移动到行首 *g移动到第几行 G移动到行尾 *G移动到第几行 :n 也可以定位到指定行 r替换光标所在的字符 esc退出 R从光标开始替换字符按esc退出 x删除当前光标出的字符
输入模式 :使用vim编辑配置文件的时候根据不同的配置项变换不同的颜色
history 显示当前输入的所有命令 -c 删除已输入的命令
! 调用上一个执行成功的命令 参数为命令的开头第一个子字符
tail 查看文件的末尾 参数 数字 *n -f 更新文件
head 查看文件的开头 参数 数字 *n
man 查看命令的帮助信息 man 命令
man 还可以查看配置文件的帮助信息 格式 man 配置文件名称
1表示命令的帮助 5配置文件的帮助
man 5 passwd 查看配置文件的帮助信息
1 passwd 查看命令的帮助文件
man手册查看的方式
一、查看手册的开头部分的介绍
二、查看选项的意思(可以一个一个去试)
whatis ls 查看命令的简短信息
apropos inittab 查看配置文件的简短信息
help 内部命令的帮助 help cd
--help 外部命令帮助 vim --help
grep 过滤文件的内容 参数 -v 反向查找与条件不相符的行 "^*" 以什么开头的内容" "包含的内容" -i不区分大小写
| 前面的结果作为后续命令的处理
> 重定向输出 将一个结果保存到一个文件
>>重定向输出 将一个结果保存到一个文件,不覆盖文件在末尾追加
< 重定向输入 将一个文件内容输入到哪里 一般用于给软件打补丁
<<重定向输入 将一个文件输入到哪里 不覆盖文件,在文件的末尾追加
ctrl +l 清空屏幕
clear 一样用于清空屏幕
tar -c 创建打包文件 -C 解压到指定目录 -j 调用bzip2 -z 调用 gzip -x 解压打包文件 -v 输出详细信息 -f 表示使用归档文件 -t 列表查看打包内容 -p 保留目录的权限 -P 保留目录的绝对路径
常用的有 tar zcf 创建打包文件 tar zcf 创建大包文件 解压缩 tar jxf tar zxf
wc 统计文件内容中的单词数量 -l 统计文件中的行数 -w 统计文件中的单词个数 -c 统计文件的字节数
alias 别名设置 alias myls=‘ls -lh’ 输入myls = ls -lh
du 统计目录磁盘空间大小 -a 统计磁盘空间占用时包含所有文件,而不仅仅统计目录 -h以kb 或 mb显示 -s 统计每个参数所占用的空间大小
ln 创建硬连接文件 -s 创建软连接 硬连接 相当于复制文件 软连接相当于建立快捷方式
which 查找命令的所在路径 which vim
whereis 查找命令所在位置和帮助文档
find 查找文件所在的位置 -name 按名字 -type 按类型 -size 按大小 -a 条件必须同时满足 -o 条件只需要满足其中一个就可以 -iname 查找时不区分大小写 * 匹配任意字符 ?匹配单个字符 -user 按文件属主或属组进行查找
-amin 访问时间 -cmin 文件属性 -mmin 文件内容 (-时间分钟)
find /etc/ -name inittab [-exec] ls -l {} \;
查找名字文inittab这个文件 找到之后进行显示文件信息的处理 是固定的格式 -inum 按文件的i节点进行查找tmp/的文件不在查找范围
locate 文件名 快速查找 -i 不区分大小写
updatedb 更新资料库
rpm -ivh 包全名 安装rpm安装包 --nodeps 忽略依赖关系 -F 强制安装 -e 卸载rpm软件
-q 查询是否安装 -qa 查询所有已安装的RPM包
-qi 后面跟上包名(已安装) 查询软件包的详细信息
-ql 包名 查询安装的位置
-qR 查询已安装包的依赖性
-qlp 包全名 查询未安装包的安装位置
-qf 系统文件名 查询这个文件由那个安装包安装的
-qRp 包全名 查询未安装的安装包的依赖包
-qip 加上未安装的包全名 查询未安装的详细详细
www.rpmfind.com 查找模块依赖关系
如果需要使用光盘做yum源 需要把/etc/yum.repos.d/目录下的文件都改名为.bak的名字 这样yum就不会检测了只保留Media.repo
更改这个文件
file:///media 是光盘的挂载点 enable=0改为1
yum list 查看软件包列表
yum search httpd 查询跟apache 相关的软件包
yum -y install 包名 安装软件(RPM)
yum -y update 包名 升级软件 升级必须跟软件包名(否则升级全部软件包括内核)
yum -y remove 包名 卸载软件
yum grouplist 查询软件包组
yum groupinstall 软件组名 安装软件组
yum groupremove 软件组名 卸载软件组
源代码安装
首先要查看 安装目录下的INSTALL (安装帮助) README (使用帮助)
./configure --htlp 查看帮助 看一下可以定制的功能
make clean 清空编译时产生的临时文件
make 转换二进制 make install 安装二进制文件
useradd 创建用户 -u 指定用户uid -g 指定基本组 -G 指定附加组 -M 不建立宿主目录 -s 指定登陆shell -d 指定用户的宿主目录
更改/etc/passwd 用户的uid 为0 可以让一个普通用户成为超级用户
userdel 删除用户 -rf 删除宿主目录 -c 指定创建用户的说明
在/var/spool/用户名 会保存每一个用户的系统邮箱
/etc/skel 创建用户时自动添加的模板文件
/etc/default/useradd 用户默认值文件 定义创建用户的默认信息
/etc/login.defs 密码默认文件
有效的字段
groupadd 创建基本组 -g 指定gid
gpasswd 添加用户到组 -a 添加用户 组名 -d 删除组里的用户 -M 添加多个用户到组
groupadd 修改组信息 -n 指定新的组名 旧组名在命令末尾
groupdel 组名 删除组 如果组里面是个用户的基本组是不能删除的 如果是一个附加用户则可以删除 如果想要删除基本组需要先删除用户和宿主目录,就可以直接删除了。
gpasswd 选项 组名
-a 用户 加入组 -d 用户名 删除这个组里的用户
用户都加入到了附加组
usermod 修改用户信息 -g 修改基本组 -G 修该附加组 -u 修该用户的uid -e 修该用户的实效时间 -M 不为用户建立宿主目录 -s 修该用户登陆的shell -l 更改用户的登陆名 -L 锁定用户 -U 解锁用户账户
passwd -d 清空用户密码 -l 锁定用户 -u 解锁用户 -S 查看当前用户的状态 echo "123" | passwd --stdin 用户名 接收字符串输入的密码
chage 修改密码状态 chage
chage -d 0 用户名 更改用户密码的第三个字段为0 表示用户登陆必须需修改密码
userdel -r 用户名 删除用户并删除家目录
id 用户名 查看用户的详细信息
su - 用户名 切换用户 -必须加否则切换不完整(环境变量不变)
su - root -c "要执行的命令" 让普通用户可以执行root用户可执行的命令
env查看环境变量
who 查看当前系统的登陆信息
whoami 查看我是谁
uptime 查看系统运行的时间(开机到关机)
w 查看当前登陆的详细详细
id 显示用户的基本信息
finger 查看当前用户登陆的属性
w 显示当前主机用户登陆的情况
gzip 文件名/目录 压缩命令 .gz 解压缩 gunzip 压缩文件名 或 gzip -d 文件名
zip 压缩文件/目录 -r 压缩目录 先写压缩之后的文件名 在写要压缩文的文件/目录 想要保留压缩包加上 -k
unzip 解压缩 压缩文件名
bzip 需要压缩的0文件/目录 -k 保留源文件 -r 压缩目录 解压缩 bunzip 压缩文件名 .bz2
chmod 设置目录/文件的权限 o其他用户 a 所有用户 u属主用户 g属组 r可读 w可写 x可执行
umask 查看可以修改的权限 -S 更加直观的查看
chmod a+x,o-r,u+rwx 文件/目录名
chown 设置目录/文件的属主:属组 chown 主:组 目录/文件路径
fdisk 磁盘管理命令 -l 显示当前磁盘状态
fdisk /dev/sdb 更该sdb的磁盘分区结构 n 新建分区 p 新近主分区 e新建扩展分区 l新建逻辑分区 d删除分区 t转换分区类型(83ext3,82swap ) w保存分区 q退出不保存
mkfs 格式化分区 -t 指定分区类型
mkswap 格式化swao 分区
df 查看系统中挂载磁盘空间使用情况 -a输出所有可见文件系统的信息,包括违文件系统 -h 显示信息时更加人性化 -i 查看分区中i节点占用情况 -T 输出信息时显示该分区的文件系统类型
pvcreate 创建物理卷 pvscan 查看当前有哪些物理卷
vgcreate 创建卷组 vgdisplay 显示卷组的具体信息
lvcreate 创建逻辑卷 -L 指定逻辑卷的空间 -n 逻辑卷名
mount 挂在分区 -o 指定挂在选型 -t 指定设备所使用的文件系统
umount 卸载挂在
chkconfig 服务控制 --level 启动级别 --list 显示服务的开机级别 --add 添加服务 --del 删除服务
kill 终止进程 -9 强制终止 killall 也是一样
free 查看系统内存,交换空间的使用情况 -b 以字节显示 -k 以kb显示 -m 以mb显示
pstree 显示进程树 -a显示进程相对应到命令行 -u显示进程对应的用户名 -p 显示进程对应的pid号
ps 静态显示当前进程 -a 显示当前 终端下的所有进程的信息 -u 使用以用户为主的格式输出进程信息 -x显示当前用户在所有终端下的进程信息 -e 显示系统内所有进程的信息 -l 使用长(long)格式显示进程信息 -f 使用完整(Full)格式显示进程
top 动态显示当前运行的进程 -d 指定刷新的间隔时间
cron 计划任务设置命令 -e 创建/打开计划任务 列表 `:
su 切换用户 -l 使用目标的shell登陆 替换为-
fsck 检查和修复文件系统 -y 在所有提示确认的步骤自动回答yes -t 指定需要检查的分区的文件系统类型
dd 用于设备文件的复制 if=从哪个设备输入 of=输出到哪里 bs=一次输出的大小 count=输出多少次
eject 弹出光盘以及收回光盘托架
ifconfig 显示网卡信息
ping 检测网络连通性 -c 设置发送测试的数据包个数 -s 设置发送测试数据包的大小一字节为单位 -i 设置发送每个测试包的间隔时间 单位秒
traceourte 跟踪到目标主机的路由路径ip地址
mtr 动态刷新路径信息 q退出
netstat -a 显示当前所有的网络连接信息 -n 使用数字形式表示地址、端口信息 -p 同时显示每个网络连接关联的进程信息 -t 显示tcp相关的协议 -u 显示udp相关的协议 -r查看系统的路由表信息
init 0关机 切换到单用户模式 2 切换到字符界面没有网络 3 切换到字符界面有网络 4没有定义 5 图形界面 6重启计算机
uname -r 显示当前系统内核信息 -i 显示硬件的体系结构 -a 显示所有相关信息
write 用户名 给用户发送信息 ctrl+退格键 删除单个字符
wall 广播消息 格式 命令后面加上发送的信息 回车发送
ctrl+d结束发送
last 统计目前各过去所有用户的登陆时间,退出时间。
lastlog 只显示用户最后一次登陆时间 -u UID 只查看一个用户。
traceroute 探测到达指定的网站的路径 格式 命令+IP地址
netstat 查看服务的运行状态
-t 查看tcp协议 -u 查看udp协议 -l 监听端口 -r 查看路由 -n 显示ip地址和 端口号
-tlan 查看本机监听的端口 LSHED正在连接的
-an 查看本机所有的网络连接
-rn 查看本机路由表
chage 设置用户属性 -M 30 设置用户的密码30天过期
-d 0 表示用户下次登录需要修改密码
chattr用于文件管理 +i 文件名 锁定文件 -i 文件名 解锁文件
lsatte 文件名 查看文件锁定状态