linux 常用命令
程序员必知必会----linux常用命令之一【基础命令】
程序员必知必会----linux常用命令之二【vim】
程序员必知必会----linux常用命令之三【用户管理】
程序员必知必会----linux常用命令之四【软件包管理】
程序员必知必会----linux常用命令之五【进程管理】
程序员必知必会----linux常用命令之六【文本分析】
程序员必知必会----linux常用命令之七【shell编程】
一.文件处理命令
1.查看目录下的内容:
ls-la/dir:-a显示所有文件,-l显示详细信息
ll/dir
2.查看目录或文件的属性
ll-d/dir:-d只显示目录信息
llfilename
3.切换目录
cd/:切换到根目录
cd..:回到上级目录
4.查看当前路径
pwd
5.创建空文件
touchfilename
6.创建目录
mkdirdir
mkdir-pdir/dir/dir:创建多级目录
7.文件和目录复制
cpsourcefiletodir:复制到指定目录,保持原文件名
cpfile1file2todir:同时复制多个文件到指定目录下
cpsourcefiletodir/newfile:复制到指定目录,并重命名文件
cp-Rsourcedirtodir:复制目录到指定目录下
cpsourcedir/*todir:复制目录下的文件到指定目录
cp-nsourcefiletodir:如文件已经存在,则不覆盖
cp-fsourcefiletodir:如文件已经存在,则强制覆盖
8.移动文件、重命名
mvfile1file2:重命名file1为file2
mvfiletodir:将文件移动到指定目录
mvdirtodir:将目录移动到指定目录
mv-nfiletodir:如有重复,则不覆盖
mv-ffiletodir:如有重复,则强制覆盖
9.文件和目录删除
rm-ffile
rm-rfdir
10.显示文件内容相关
1)catfile:显示文件所有内容
2)morefile:分页显示文件内容
下一页:空格
下一行:回车
退出:q
3)head-20file:显示文件前20行,默认是10行
4)tail-20file:显示文件最后20行,默认是10行
tail-ffile-n100:动态显示文件内容,先显示最后100行内容,用于查看日志
11.软链接与硬连接
ln-sfile/dirfile/dir:软连接
lnfile/dirfile/dir:硬连接
二.权限管理命令
1.改变文件或目录权限
chmod777file/dir
chmodu+xfile:赋予文件所有者执行权限
u:文件所有者
g:文件所属组
o:其它用户和组
+:赋予权限-:去除权限
r:读权限文件--可以查看目录--可以列出目录内容
w:写权限文件--可以修改目录--可以在目录中创建、删除文件和目录
x:执行权限文件--可以执行文件目录--可以进入目录
注:对于目录,如有r权限,则必须有x权限。
2.改变文件或目录所有者和所属组
chownuserfile:将file的所有者修改为user
chgrpgroupfile:将file的所属组修改为group
chown-Ruser.groupdir:修改dir及其子目录的所有者和所属组
三.文件搜索命令
1.显示系统命令所在目录
whichuseradd
2.查找文件或目录
finddir-namefilename:在目录下查找文件名为filename的文件
-name:文件名称,例如:find.-name"*.log"
-size:文件大小,以block为单位,1block=512k
-size+204800:大于100M
-size-204800:小于100M
-user:文件所有者
-ctime:按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-cmin:同上,分钟
-mtime:按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-mmin:同上,分钟
-atime:按文件访问时间来查找文件
-amin:同上,分钟
-typeb/d/c/p/l/f:查是块设备、目录、字符设备、管道、符号链接、普通文件
-empty:查找在系统中为空的文件或者文件夹
-execcommond{}\;:将查找到的路径作为commond的参数,并执行,
例如:find.-name.svn-execrm-rf{}\;类似于:find.-name.svn|xargsrm-rf
find.-name"*.log"-execcp'{}'./dir';':将当前目录下的以.log结尾的文件拷贝到./dir下
类似于find.-name"*.log"|xargs-n1-icp{}./dir
-n[num]:执行命令时,一次提供几个参数,这里表示,每次传递给cp一个参数
-maxdepth:查找目录最大深度,默认是全部查找
例如:find-maxdepth2-name"*${filename}*"-execcp{}$newfilename\;
-a:and
-o:or
例子:查询大于100M并且所有者为hanqf的文件并将其删除
find/etc-size+204800-a-userhanqf-execrm-rf{}\;
!:不等于,不包含,例如:find.!-typed,查找所有类型不是目录的文件
3.从文件索引库中查找文件或目录
updatedb:更新索引,系统会自动定期执行
locatekey:从索引库中查找名称包含key的文件和目录
4.在文件中搜索匹配关键字的行
grepkeyfile:grep^#file:显示所有行首是#的行
catfile|grepkey
grep-vkeyfile:查找不含key的行
grepkeyfile-A10:显示关键字行及其后面的10行
grepkeyfile-B10:显示关键字行及其前面的10行
四.帮助命令
1.获得帮助信息
manls:查看ls的命令帮助
manservices:查看配置文件services的帮助信息(/etc/services,配置文件都位于/etc下)
manpasswd:查看命令,或者man1passwd
man5passwd:查看配置文件
2.获得命令的简单说明
makewhatis:建立索引数据库
whatisls
五.压缩和解压缩命令
1.格式:.gz只能压缩文件
gzipfile===》file.gz
gunzipfile.gz===》file
gunzip*.gz
2.格式:.tar可以压缩文件和目录
tar-cvffile.tarfile
-c:产生.tar文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩为.gz
tar-xvffile.tar
-x:解压.tar文件
-v:显示详细信息
-f:指定要解压的文件名
-z:解压缩.gz
tar-zcvffile.tar.gzfile/dir
tar-zxvffile.tar.gz
tar-zxvffile.tar.gz-Ctodir
-C:解压到指定目录
tar-zcvffile_$(date+%F).tar.gzfile
$(date+%Y.%m.%d-%H%M)
tar-ztffile.tar.gz:不解包,查看包中文件列表
tar-zcvffile.tar.gzdir1dir2dir3:压缩多个目录
3.格式:.zip可以压缩文件和目录
zipfile.zipfile
zip-rdir.zipdir
unzipfile.zip
unzip-ofile.zip:解压后如果文件已经存在,则覆盖
unzip-nfile.zip:解压后如果文件已经存在,则不覆盖
4.格式:.bz2只能压缩文件
bzip2-kfile===>file.bz2
-k:压缩后保留原文件
bunzip2-kfile.bz2
-k:解压后保留原文件
六.网络通信命令
1.向已经登录系统的另一个用户发送即时消息
writeuser
Ctrl+D:退出
2.向所有登录用户发送广播消息
wall
Ctrl+D:退出
catfile|wall
wall<file
3.测试网络连通性
pingip/domain
ping192.168.36.49-c3:-c测试次数
ping192.168.36.49-c3-s1000:-s发送icmp包的大小bytes
4.查看网络设置信息
ifconfig-a:查看所有网卡信息
ipa:查看网卡信息
七.系统关机与重启命令
重启:
shutdown-r:安全重启,会通知正在登录的用户
shutdown-rnow:马上重启
reboot:马上重启,不通知登录用户
init6
关机:
shutdown-h:安全关机,会通知正在登录的用户
shutdown-hnow:马上关机
init0
poweroff:直接断电,相当于按住电源键3秒钟
echob>/proc/sysrq-trigger立即重新计算机
echoo>/proc/sysrq-trigger立即关闭计算机
八.命令别名
alias:查看所有系统定义的别名
定义:
aliascopy=cp
aliasxrm="rm-r"
删除:unaliascopy
九.输入/输出重定向
0:标准输入
1:标准输出
2:标准错误输出
>:输出重定向date>file
>>:增量输出重定向date>>file
<:输入重定向wall<file
例子:
标准输出和错误输出分别定向到指定的文件
ls1>/dev/null2>/dev/null
标准输出和错误输出都定向到同一个文件
ls>/dev/null2>&1=====ls>&/dev/null
十.管道
|:catfile|grepkey|sort|uniq|wc-l
十一.命令连接符
;:间隔命令
&&:逻辑与,前面的命令成功,才会执行后面的命令
||:逻辑或,前面的命令失败,才会执行后面的命令
十二.命令替换符
`command`:ls-l`whichtouch`会优先执行替换符里面的命令,并将结果作为前面命令的参数
十三.系统相关
runlevel:查看当前的系统运行级别
init5:切换到5运行级别
0:关机
1:单用户安全模式
2:多用户,类似于3,但不支持nfs
3:多用户,完整模式
4:未使用
5:Xwindow
6:重启
uname-a:查看系统类型
十四.系统时间
hwclock--hctosys:用主板时间设置软件时间
hwclock--systohc:用软件时间设置主板时间
hwclock--set--date="9/22/9616:45:05"
dateMMDDHHmmYYYY.ss:设置软件时间
十五.网络命令
1.ssh登录:
[email protected]//不同用户名
ssh-p2188192.168.1.219//相同用户名
2.scp远程传输
[email protected]:~/xxx.txt//不同用户名
scp-P2188xxx.txt192.168.1.219:~/xxx.txt//相同用户名
十六.watch
定期执行程序,全屏显示输出
watch-n1command
-n[num]:间隔多少秒执行一次command
例子:watch-n1ls-al:每隔1秒,查看当前目录的变化,默认2秒
十七.设置固定IP
1.设置IP地址、子网掩码
vi/etc/sysconfig/network-scripts/ifcfg-eth0
#RealtekSemiconductorCo.,Ltd.RTL8111/8168BPCIExpressGigabitEthernetcontroller
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:15:F2:B9:92:4F
IPADDR=192.168.12.51
NETMASK=255.255.225.0
ONBOOT=yes
2.设置网关
vi/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
GATEWAY=192.168.12.254
3.设置DNS
vi/etc/resolv.conf
;generatedby/sbin/dhclient-script
nameserver192.168.0.10
nameserver202.106.0.20
4.重启网络
servicenetworkrestart