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    文件名  查看文件锁定状态