LINUX常用命令 原创
初学者建议一
1.严格区分大小写
2.所有内容都要写入文件才能永久生效
3.不靠扩展名区分文件类型
压缩包:.gz .bz2 .tar.gz .tar.bz2
二进制: .rpm
网页文件 .html .php
脚本文件 .sh
配置文件 .conf
4.所有存储设备都必须挂载才能使用
5.WINDOWS程序不能直接在LINUX下安装和运行。
初学者建议二
服务器管理和维护建议:
1.远程服务器不允许关机只能重启
2.重启时应该关闭服务
3.不要在服务器访问高峰运行高负载命令
4.远程配置防火墙时不要把自己提出服务器
5.指定合理密码定期更新
6.合理分配权限
7.定期备份数据和日志
常用命令
linux命令格式:
命令 [选项] [参数] ([ ]代表可以省略)
选项 :对命令功能的补充
参数 :命令操作的对象 如文件、目录、用户
例: ls -alhd /etc
第一个命令:ls
1.ls list /bin/ls 所有用户 /显示目录文件
语法:ls [-aldi] [文件或者目录]
-h=hommization 带单位显示文件大小(所有统计大小的命令都支持-h参数)
-a=all 显示所有文件,包括隐藏文件。
-l=long 显示详细信息。
-d=directory 显示目录属性。
-i=inode 显示每个文件或目录的节点号。
例如:ls -alh /home 查看home目录下所有文件目录信息 ls -ldh /home 查看home目录信息
文件详细信息说明:
文件类型说明:linux中有7中文件类型。
p :表示命名管道文件 d :表示目录文件 l :表示符号连接文件
- :表示普通文件 s :表示socket文件 c :表示符号设备文件
b:表示块设备文件
第二个命令:cd
2.cd change directory 改变当前目录。
cd ../或cd .. 回到上一层目录 cd ./或cd .回到原目录
cd ~ 或cd空格 回到当前目录宿主目录 cd / 切换到根目录
cd - 回到上次目录
相对路径:参照当前所在目录,进行查找。一定要先确定当前所在目录。
root]#cd ../usr/local/src
绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置
root]#cd /usr/local/src
linux根下常用目录说明:
好用的ctrl快捷键命令
ctrl+u 从光标所在位置删除到行首
ctrl+c 强制终止
ctrl+l 清屏 clear
ctrl+a 光标移动到行首
ctrl+e 光标移动到行尾
tab 键 自动补全目录文件或命令(极好的东东!)
一、目录操作命令
pwd 显示当前所在目录
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
6.mkdir [-参数] [目录名] 创建目录 make directory
-p 建立目录时,如果父目录不存在,则此时可以与子目录一起建立
mkdir -p /tmp/aa/bb/cc (不加-p创建不了)
mkdir /tmp/abc
7.rmdir [目录名] 删除空目录
-p 在删除目录时,可以递归删除空目录。
rmdir -p /tmp/aa/bb/cc (目录必须都没有文件才可递归删除)
rmdir /tmp/abc (abc 必须是空目录)
二、文件操作命令
5.touch [文件名] 创建空文件 (如果文件存在修改文件最后访问时间)
路径:/bin/touch
权限:所有用户
显示查看文件命令:
11.cat /bin/cat 显示文件内容 最后一屏。
-n 显示行号
12.more 逐页显示文件内容
b 向上翻页
空格或f 显示下一页
回车 显示下一行
Q或者q 退出
13.head /bin/head
语法:head -num(数字) [文件名] 显示开头几行。
例: head -20 /etc/shadow
14.tail /bin/tail
语法:tail -num(数字) [文件名] 显示末尾几行。
-f 可以动态更新显示最后几行。
例: tail -20 -f /var/mslog.txt
15.ln link /bin/ln 软连接/硬连接命令
语法: ln -s(软连接使用此参数) [源文件] [目标文件]
例: ln /etc/issue /tmp/issue.hard 创建一个硬连接
软连接特点:.类似快捷方式 权限为 lrwxrwxrwx 777
.指向源文件
.时间值为创建软连接时间
.源文件删除软链接失效
.软连接要写绝对路径
硬连接特点: .相当于cp+同步更新 inode(i节点)相同
.创建时间不相同 不能跨分区
.原文件件删掉 不影响硬连接文件
16.file [文件或目录] 查看文件类型
17.wc [文件] 查看文件内容多少行
三、目录和文件操作命令
9.mv move /bin/mv 剪切 更名文件或者目录
语法:mv [源文件或目录] [目标文件或目录] ( 不加r也可以复制目录特例)
例: mv /test/newfiles /tmp/files (移动并改名)
mv /root/abc /tmp/ (移动不改名)
-i 若目标文件或目录存在时,提示是否覆盖。
-f 不论目标文件或目录存在与否,均不提示。
10.cp copy /bin/cp 复制文件或目录
语法: cp [-参数] [源文件或目录] [目的文件或目录]
-i 若目标文件或目录存在时,提示是否覆盖。
-p 复制文件时不更改时间。
-r 复制目录时使用此参数
-d 若源文件是链接文件,则复制链接属性
-a 相当于-pdr(想保留目录原有属性请使用-a)
8.rm [-参数] [目录名或者文件名] 删除目录或文件 (比rmdir好用的命令!)
-r 删除目录使用此参数。
-f 删除目录/文件时不提示 慎用。
-i 删除目录时提示。
四、权限管理操作命令
权限位说明:
.r=4:读取
对于文件:查看文件内容(cat more head tail)
对于目录:列出目录列表(ls)
.w=2:写入
对于文件:修改内容(vi,vim)
对于目录:删除、修改、创建目录及目录内内容(rm、
rmdir、mkdir、touch等)
.x=1:执行
对于文件:执行文件:(程序或脚本)
对于目录: 进入目录:(cd)
.s-- u=4 setuid 针对命令设置的权限,以文件所有者身份
运行例如:4755 drwsr-xr-x
.s-- g=2 setgid 针对命令设置的权限,以文件所属组身份
运行例如:2755 drwxr-sr-x
.t-- o=1 粘着位 针对目录权限是777目录,用户只能删除
所有者为自己的目录。例如 1777 drwxrwxrwt o=rwxt
文件类型说明: _rxrwxrwx
p:表示命名管道文件 d:表示目录文件 l:表示符号连接文件
-:表示普通文件 s:表示socket文件 c:表示符号设备文件
b:表示块设备文件
重要说明:目录默认权限一般为755或者700;
目录内文件的删除与文件所隶属的目录权限有关w
1.chmod /bin/chmod 改变文件或者目录权限
语法: chmod [ugoa][-=+][rwx] [文件或目录]
[755](r=4,w=2,x=1) [文件或目录]
-R 递归修改(影响子目录及其下所有文件)
例: chmod 777 /tmp/news.txt
chmod a=rwx /tmp/news.txt 两条命令效果等同
2.chown /bin.chown 改变文件或者目录所有者、所属组
语法:chown [用户] [文件或目录]
-R 递归修改(影响子目录及其下所有文件)
例: chown vilin:vilin files
chown 的可以使用上述格式修改所属组。
3.chgrp /bin/chgrp 改变文件和目录所属组
语法: chgrp [用户组] [文件或目录]
例: chgrp vilin files.txt
4.umask /bin/umask 修改文件或目录默认权限
语法: umask 0022 那么默认权限为0755
注:缺省创建的文件没有 x 权限
简单创建用户和密码:
useradd 用户名 添加用户
passwd 用户名 设定用户密码
五、帮助命令
1.man /usr/bin/man 获得帮助
man 中代号 1.5.8比较重要分别为:
1.用户在shell中可以操作的命令或可执行文件
5.配置文件或者是某些文件格式
8.系统管理员可用的管理命令
语法: man [命令或者配置文件]
例: man ls
man passwd (优先查看命令)
man 5 passwd 查看passwd文件
2.info 同man 功能一样
3.whatis 获得简短的说明信息 使用前要先通过makewhatis
命令来创建数据库
4.help 查看shell内置命令帮助
例:help ls
5.ls --help 选项帮助 中文
六、查找命令
查找命令
文件搜索命名:
1.which /usr/bin/which 显示系统命令所在目录,绝对路径,别名记录。
例: which ls
2.whereis 帮助命令文件所在目录 只能查看系统命令
例: whereis ls
3.find /usr/bin/find 查找文件或目录 精 (配abc只能匹配到abc)
语法:find [搜索路径] [指定条件] [指定动作] (-name -type -size -user -nouser(没有所有者的文件) -inum(i节号)-iname(按照文件名不区分大小写))
没有所有者的文件
/proc
/sys
/mnt/cdrom
除了这三个目录 和外来文件 都是垃圾文件
例:find /etc -name init
通配符 * 代表多个字符 ?一个字符 []匹配中括号中的字符
使用通配符匹配要加引号"abc*"
连接符 -o or或关系 -a and与关系
注:默认系统使用块大小来计量文件大小
换算关系: 100M=102400KB=204800block 系统默认块大小为512字节
例:find /etc -size +163840 -a -size -204800 搜大小建议加单位 90k 90M
find /etc -name init* -a -type [l/d/f](l连接文件、d目录、f 二进制文件)
find / -user vilin -exec ls -l {} \; (-exec {} \; 固定格式)
在根目录下搜索所有者为vilin的所有文件并列出详细信息
注:当-exec 换成 -ok 时 会有询问提示
时间条件:10 +10 10天前 -10 10天内
ctime atime mtime 天 cmin amin mmin 分钟
c -change 改变属性 所有者所属组权限
m -modify 修改内容 文件或目录的内容
a -access 访问过
4. locate [文件或目录] 本地查找文件
查找文件内容命令
5.grep /bin/grep 在文件中搜索字符串匹配行并输出
匹配内容支持正则包含匹配 匹配文件名不支持正则
-n 显示字符串所在行数
-i 不区分大小写
-v 反向选择
语法: grep [指定字符] [源文件]
例如: grep ftp /etc/servcies
注意:
Find: 在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。
Grep: 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是包含匹配
七、管道命令
管道: | 数据流操作 find不支持数据流操作所有不支持管道
例:
ls -l /etc >>abc more abc (相当于把执行的结果写入文件 )
ll /etc | grep yum.conf
ls -l /etc|more
wc -l /etc/services
netstat -tuln l监听 n 端口号
netstat -tunln | grep 80
netstat -an | grep ESTABLISHED | wc -l 查看多少客户端连接
命令连接符:
; 间隔的各个命令按顺序执行
&& 前面的命令执行成功后,后面的命令才被执行。
|| 只要前面的命令执行失败,后面的命令才被执行。
管道 是将一个命令的输出作为另一个命令的参数。
例: echo 'date'
补充命令:
netstat 查看网络状态的命令
-t 查看tcp端口
-u 查看udp端口
-l 监听
-n 以IP和端口号显示,不用域名和服务名显示
-a 查询所有连接
输入输出重定向
0标准输入 <
1标准输出 >
2标准错误输出 2>
例:
ls -l /tmp>/tmp.msg
ls -l /vilin>>/tmp.msg
write vilin<ms.txt
cp -R /usr /backup/usr.bak 2>bak.txt
八、一些简单的命令
1.命令别名定义: alias
alias copy=cp
alias xrm="rm -r"
unalias copy 删除别名
vim /root/.bashrc 别名(alias)记录文件
source /root/.bashrc 不重启生效别名记录文件
18. shutdown -h now 关机
19. shutdown -r now 重启
21. reboot 重启
22.logout 用户退出
23.startx 进入xwindows界面
24.less 查看文件内容,带分页
切换系统显示语言命令:
echo $LANG 查看系统当前语言
LANG=en_US 改为英文语言
LANG=zh_CN 改为中文语言
date 显示日期和时间的命令
cal 显示日历的命令
cal 2009 显示2009年的日历
cal 10 2009 显示2009年10月的月历
bc 简单好用的计算器
scale=3 设置小数点后保留三位小数
shutdown -r now 立即重启
shutdown -h now shutdown -h 20:25 shutdown -h +10
shutdown -h +30 '这个系统将在30分钟后关机,请保存好数据!'
reboot
halt
poweroff
logout
startx
sync;sync;sync;reboot 常用关机命令
九、压缩解压缩命令
压缩解压缩 打包 命令
1.gzip,zcat 说明:gzip可以解开compress、zip、gzip等 zcat 文件名.gz 查看压缩文件内容
gzip [-cdtv#] 文件名 特点:.默认不保留源文件.不能压缩目录
参数:
-c:将压缩的文件输入到屏幕上,可通过数据流重定向来处理;
-d:解压缩的参数; gunzip 也可以解压缩
-t:可以用来检验一个压缩文件的一致性,看看文件有无错误;
-v:可以显示出原文件/压缩文件的压缩比等信息;
-#:压缩等级,-1最快,但压缩比最差,-9最慢,但是压缩比做好默认是-6;
例:gzip services
gzip -9cv man.config>man.config.gz 这种方法可以保留源文件
2.bzip2,bzcat 比gzip压缩比还高 不能压缩目录
bzip2 [-cdkzv#] [文件名]
参数:
-c:将压缩过程中产生的数据输出到屏幕上;
-d:解压缩参数; bunzip2也要解压缩功能;
-k:保留源文件,而不删除源文件;
-z:压缩的参数;
-v:可以显示出原文件/压缩文件的压缩比信息;
-#:与gzip相同,都是在计算压缩比的参数,-9 最佳,-1最快;
3.zip /usr/bin/zip win通用格式 可以压缩目录 保留源文件
语法: zip [-r](压缩目录参数) [压缩后文件名] [文件或目录]
例: zip man.config.zip man.config
例: unzip man.config.zip 解压文件
4.tar /bin/tar 打包目录 .tar
语法:tar [-j](bzip2)[-z](gzip) [-cv] [-f 生成文件名] [原文件名] 打包与压缩
tar [-j/-z][-tv][-f 查询的文件名] 查询包内文件
tar [-j][-z][-xv][-f 拆包文件名] [-C 指定解压目录] 解压缩
参数:
-c: 新增打包文件,可搭配-v来查看过程中被打包的文件名;
-t: 查看打包文件的内容含有哪些文件,重点在查看文件名;
-x: 解包或解压缩的功能,可以搭配-C 指定解压目录;
-j: 通过bzip2的支持进行压缩/解压缩,此时的文件名最好为*.tar.bz2;
-z: 通过gzip的支持进行压缩/解压缩,此时的文件名最好为*.tar.gz;
-v: 在压缩/解压缩的过程中,将正在处理的文件名显示出来;
-f filename:-f 后面要接被处理的文件名,建议-f
单独写一个参数;
-C 目录:这个参数用在解压缩时,若要解压到特定目录,可以使用此参数;
-p: 保留备份数据的原本属性与权限,常用于备份(-c)重要的配置文件;
-P: 保留绝对路径,即允许备份数据中含有根目录存在之意;
--exclude=FILE: 在压缩过程中,不要将FILE打包;
例: tar -jcv -f tmps.tar.bz2 /tmps 打包目录
tar -jtv -f tmps.tar.bz2 查询包内文件
tar -xjv -f tmps.tar.bz2 -C /test 解压包文件
常用压缩解压缩总结
压缩和解压缩
.gz .bz2 linux可以识别的常见压缩格式
.tar.gz .tar.bz2 常见的压缩和打包命令
tar -zcvf 压缩文件名 源文件
tar -zcvf aa.tar.gz aa (gzip 压缩打包)
tar -zxvf 压缩文件名 gzip解压缩同时解打包
tar -jcvf 压缩文件名 源文件 压缩同时打包
tar -jcvf aa.tar.bz2 aa bzip2压缩打包
tar -jxvf aa.tar.bz2 解打包同时解压缩
查看不解包
tar -ztvf aa.tar.gz 查看不解包
tar -jtvf aa.tar.bz2
-t 只查看,不解压
tar -jxvf root.tar.bz2 -C /tmp/ 指定解压缩位置
十、关机和重启命令
七 关闭和重启命令
1)shutdown -h now 没有特殊情况,使用此命令
-h 关机
-r 重启
shutdown -r now
命令名称:shutdown
命令所在路径:/sbin/shutdown
执行权限:root
2)reboot
命令名称:reboot
命令所在路径:/sbin/reboot
执行权限:root
十一、挂载命令
十二、网络命令
配置IP命令
关于centos网络配置的方法,网上文档很多,但基本上都是一些操作命令,原理和解释则很少提到,而且某些文章有些地方还是需要商量的(估计是转载的,作者自己也没有实践过)。故,重新总结一下,分三个部分:理论基础、上机实践和原因阐述。
注:
实践环境:虚拟机
登陆方式:PuTTY
OS版本:centOS6.3
上网方式:bridge
一、理论基础(急于解决问题的读者这个部分可以略过,直接看”上机实践“ 部分):
google关键词:centos网络配置,则会得到很多。下面挑出51cto在centos版面的文章(相对而言,讲的较清晰和详细),总结如下:
1.CentOS网络配置之基本关键字:
*IP
*netmask
*gateway
*hostname
*domainname
*DNS
以上key都是网络设置所必须知晓的,应该是通用的。
2. CentOS网络配置之配置文件
文章中提到了有关配置文件的概念:“无论是通过网络配置命令(下文将提到)来配置网络,还是通过图形化的配置界面,最终的配置信息都将写入到某某的文件中,也就是说一旦我们知道了这些信息都写到了什么文件中或哪儿个文件中,我们就可以通过直接的修改某某文件来直接进行配置”,即我们(相对于程序而言是用户)只需通过修改配置文件就能引导程序按着目标方式运行(这里也体现了linux中“一切即文件“的思想)。
关于配置文件:下面统一以key和value的形式进行说明(如:IPADDR=10.3.7.202,则key为IPADDR;value为10.3.7.202)。
在CentOS中关于网络的配置文件有:
(1)/etc/sysconfig/network
说明:有关系统网络的整体性文件(不涉及具体网络设备)---全局性
有关的key:
NETWORKING 是否利用网络
HOSTNAME 主机名
GATEWAY 默认网关
IPGATEWAYDEV 默认网关的接口名
DOMIAN 域名
(2)/etc/sysconfig/network-scripts/ifcf-eth*(0,1,2,..)
说明:有关网络接口卡(具体网络设备)的配置文件----局部性
有关的key:
DEVICE 接口名(设备,网卡)
BOOTPROTO ip的配置方法(value:static代表固定IP;dhcp代表动态获取;none:手动)
HWADDR硬件地址(即MAC地址)
ONBOOT 系统启动时网络接口是否有效(value:yes/no)
TYPE 网络类型(通常为Ethernet:以太网)
NETMASK 网络掩码
IPADDRIP 地址
GATEWAY 默认网关地址
注:文章中只介绍了以上八种,其实应该再加上DNS,后面会讲到
(3)/etc/resolv.conf
说明:有关主机DNS服务器信息的配置文件(详细内容,可参考:http://www.kernel.org/doc/man-pages/online/pages/man5/resolv.conf.5.html)
有关的key:
domain 本地域名
search 域名和搜索列表
nameserver 本机所参照的DNS服务器的IP地址(最多可指定三个)
(4)/etc/hosts
说明:ip和hostname的映射配置文件,这里ip为局域网内部与本机有通信的其他主机的IP地址。即映射后,通过对方hostname也可访问局域网内对应主机。
有关的key:ip地址 (value:对应主机的hostname)
关于centos网络配置的方法,网上文档很多,但基本上都是一些操作命令,原理和解释则很少提到,而且某些文章有些地方还是需要商量的(估计是转载的,作者自己也没有实践过)。故,重新总结一下,分三个部分:理论基础、上机实践和原因阐述。
注:
实践环境:虚拟机
登陆方式:PuTTY
OS版本:centOS6.3
上网方式:bridge
一、理论基础(急于解决问题的读者这个部分可以略过,直接看”上机实践“ 部分):
google关键词:centos网络配置,则会得到很多。下面挑出51cto在centos版面的文章(相对而言,讲的较清晰和详细),总结如下:
1.CentOS网络配置之基本关键字:
*IP
*netmask
*gateway
*hostname
*domainname
*DNS
以上key都是网络设置所必须知晓的,应该是通用的。
2. CentOS网络配置之配置文件
文章中提到了有关配置文件的概念:“无论是通过网络配置命令(下文将提到)来配置网络,还是通过图形化的配置界面,最终的配置信息都将写入到某某的文件中,也就是说一旦我们知道了这些信息都写到了什么文件中或哪儿个文件中,我们就可以通过直接的修改某某文件来直接进行配置”,即我们(相对于程序而言是用户)只需通过修改配置文件就能引导程序按着目标方式运行(这里也体现了linux中“一切即文件“的思想)。
关于配置文件:下面统一以key和value的形式进行说明(如:IPADDR=10.3.7.202,则key为IPADDR;value为10.3.7.202)。
在CentOS中关于网络的配置文件有:
(1)/etc/sysconfig/network
说明:有关系统网络的整体性文件(不涉及具体网络设备)---全局性
有关的key:
NETWORKING 是否利用网络
HOSTNAME 主机名
GATEWAY 默认网关
IPGATEWAYDEV 默认网关的接口名
DOMIAN 域名
(2)/etc/sysconfig/network-scripts/ifcf-eth*(0,1,2,..)
说明:有关网络接口卡(具体网络设备)的配置文件----局部性
有关的key:
DEVICE 接口名(设备,网卡)
BOOTPROTO ip的配置方法(value:static代表固定IP;dhcp代表动态获取;none:手动)
HWADDR硬件地址(即MAC地址)
ONBOOT 系统启动时网络接口是否有效(value:yes/no)
TYPE 网络类型(通常为Ethernet:以太网)
NETMASK 网络掩码
IPADDRIP 地址
GATEWAY 默认网关地址
注:文章中只介绍了以上八种,其实应该再加上DNS,后面会讲到
(3)/etc/resolv.conf
说明:有关主机DNS服务器信息的配置文件(详细内容,可参考:http://www.kernel.org/doc/man-pages/online/pages/man5/resolv.conf.5.html)
有关的key:
domain 本地域名
search 域名和搜索列表
nameserver 本机所参照的DNS服务器的IP地址(最多可指定三个)
(4)/etc/hosts
说明:ip和hostname的映射配置文件,这里ip为局域网内部与本机有通信的其他主机的IP地址。即映射后,通过对方hostname也可访问局域网内对应主机。
有关的key:ip地址 (value:对应主机的hostname)
在CentOS中关于网络的配置文件有:
(1)/etc/sysconfig/network
说明:有关系统网络的整体性文件(不涉及具体网络设备)---全局性
有关的key:
NETWORKING 是否利用网络
HOSTNAME 主机名
GATEWAY 默认网关
IPGATEWAYDEV 默认网关的接口名
DOMIAN 域名
(2)/etc/sysconfig/network-scripts/ifcf-eth*(0,1,2,..)
说明:有关网络接口卡(具体网络设备)的配置文件----局部性
有关的key:
DEVICE 接口名(设备,网卡)
BOOTPROTO ip的配置方法(value:static代表固定IP;dhcp代表动态获取;none:手动)
HWADDR硬件地址(即MAC地址)
ONBOOT 系统启动时网络接口是否有效(value:yes/no)
TYPE 网络类型(通常为Ethernet:以太网)
NETMASK 网络掩码
IPADDRIP 地址
GATEWAY 默认网关地址
注:文章中只介绍了以上八种,其实应该再加上DNS,后面会讲到
(3)/etc/resolv.conf
说明:有关主机DNS服务器信息的配置文件(详细内容,可参考:http://www.kernel.org/doc/man-pages/online/pages/man5/resolv.conf.5.html)
有关的key:
domain 本地域名
search 域名和搜索列表
nameserver 本机所参照的DNS服务器的IP地址(最多可指定三个)
(4)/etc/hosts
说明:ip和hostname的映射配置文件,这里ip为局域网内部与本机有通信的其他主机的IP地址。即映射后,通过对方hostname也可访问局域网内对应主机。
有关的key:ip地址 (value:对应主机的hostname)
网络通信命令
网络通信命令:
1.write [用户名] 向用户发送信息
Ctrl+D结束内容 用户必须在线
write vilin <ms.txt
2.wall 广播所有人
wall [信息内容]
3.ping 选项 ip地址
参数
-c ping 的次数
-s 包大小
ping -c 4 127.0.0.1
4.ifconfig eth0 192.168.1.2
ifconfig -a 显示所有网卡信息