1.命令基本格式
2.文件处理命令
3.文件搜索命令
4.帮助命令
5.压缩与解压缩命令
6.关机和重启命令
7.其他常用命令
[root@localhost ~]#
命令行说明:
root表示用户,localhost表示主机名,~表示所在目录(这里~是家目录),#超级用户提示符,$普通用户的提示符
命令格式:
命令 [选项]
[参数]
注意:
个别命令使用不遵循此格式
但有多个选项时,可以写在一起
简化选项与完整选项 例如:-a等于--all
查询目录中内容:ls
ls [选项]
[文件或目录]
选项:选项可以一起用,例如:ls -lh
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode,文件id号
参数:选项后还可以接文件或者目录
常用如下:
[root@localhost ~]# ls -l
总用量 48
-rw-------. 1 root root 1272 1月 9 02:02 anaconda-ks.cfg
-rw-r--r--. 1 root root 15 1月 9 06:47 home
-rw-r--r--. 1 root root 27338 1月 9 02:02 install.log
-rw-r--r--. 1 root root 7572 1月 9 02:01 install.log.syslog
文件权限:
例如:-
rw-r--r--
可以分解为:总共10位
第一位:-文件类型(-表示文件 d表示目录 l表示软连接文件)
后面每三位一组:
r读,w写,x执行
前三位表示:用户权限u
中三位表示:用户组权限g
后三位表示:所有其他用户权限o
文件处理命令:
建立目录:mkdir
mkdir [-p] [目录名]
-p 递归创建
例如:-p的用法
mkdir -p japan/canlaoshi
在目录中,没有japan目录,如果没有-p是没办法直接创建canlaoshi目录
命令执行后,会创建japan目录,再在japan里面创建canlaoshi目录
切换所在目录:cd
cd [目录] 英文原意:change directory
简化操作:
cd ~ 进入当前用户家目录
cd - 进入上次目录
cd .. 进入上一级目录
cd . 进入当前目录
查询所在目录位置:pwd
pwd英文原意:print working directory
删除空目录:rmdir
rmdir [目录名]
英文原意:remove empty directories
例如:rmdir japan/ 删除japan目录
删除文件货目录:rm
rm -rf [文件或目录]
英文原意:remove
选项:-r 删除目录 -f 强制
复制命令:cp
cp [选项] [源文件或目录] [目标目录]
英文原意:copy
选项
-r 复制目录
-p 连带文件属性复制
-d 若源文件是连接,则复制连接属性
-a 相当于-pdr上面全部
例如:
剪切或改名目录:mv
mv [源文件或目录] [目标目录]
英文原意:move
mv剪切目录的时候和剪切文件的时候都一样,不用加-r(cp不一样)
常见目录作用:
/根目录
/bin 命令保存目录(普通用户就可以读取的命令)
/boot 启动目录,启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/home 普通用户的家目录
/lib 系统库保存目录
/mnt 系统挂载目录
/media 挂载目录
/root 超级用户的家目录
/tmp 临时目录
/sbin 命令保存目录(超级用户才能使用的目录)
/proc 直接写入内存的
/sys
/usr 系统软件资源目录
/usr/bin/ 系统命令(普通用户)
/usr/sbin/ 系统命令(超级用户)
/var 系统相关文档内容
Tips:可以做练习的目录:home,root,tmp(其他目录最好少动)
链接命令:ln
ln -s [源文件] [目标文件]
英文原意:link
功能描述:生成链接文件 选项:-s 创建软连接
例如
ln /root/xx.cfg /tmp/ana.hard 两个都是硬链接
硬链接是前面的/root/xx.cfg,在/tmp/目录会生成ana.hard这个软连接
两个文件内容完全一样,修改一个文件,另外一个一样会变化
把源文件xx.cfg删除掉,ana.hard一样可以使用
ls -i
/root/xx.cfg /tmp/ana.hard
查看可以看到两个文件i节点号是一样的
ln -s /root/xx.cfg /tmp/ttt.hard
因为加了-s,所以ttt.hard是软连接
修改任何一个,其他两个文件内容也会变.ttt.hard的i节点号和其他两个不一样
如果xx.cfg和ana.hard两个文件删除掉.ttt.hard就没用了
文件搜索命令:
文件搜索命令:locate (快,功能单一)
命令搜索命令whereis与which
文件搜索命令:find (慢,功能强大)
字符串搜索名:grep
find命令与grep命令的区别
locate命令格式:
locate 文件名
tips:在后台数据库中按文件名搜索,搜索速度更快
#locate命令说搜索的后台数据库 /var/lib/mlocate
更新数据库:updatedb
locate只可以按照文件名搜索
locate,whereis与which命令都会遵循配置文件:
vi /etc/updatedb.conf
对搜索参数进行配置:
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
PRUNENAMES = ".git .hg .svn"
PRUNEPATHS = "/afs /media /net /sfs /tmp /udev /var/cache/ccache /var/spool/cups /var/spool/squid /var/tmp"
Tips:
PRUNE_BIND_MOUNTS = "yes" 开启搜索限制
PRUNEFS = 搜索时,不要搜索的文件系统
PRUNENAMES = 搜索时,不搜索的文件类型
PRUNEPATHS = 搜索时,不搜索的路径
搜索命令的命令whereis
格式:whereis [选项] 命令名
搜索命令所在路径及帮助文档所在位置
选项: -b: 只查找可执行文件 -m: 只查询帮助文件
搜索命令的命令which
格式: which 文件名
搜索命令所在路径及别名
文件搜索命令find
格式: find [搜索范围] [搜索条件]
按照文件名搜索:
find / -name install.log
Tips:
避免大范围搜索,会非常耗费系统资源
find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配
find /root -iname install.log 不区分大小写
find /root -user root 按照所有者搜索
find /root -nouser 查找没有所有者的文件
按照时间搜索:
find /var/log/ -mtime +10 查找10天前修改的文件
-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
按照文件大小搜索:
find /root -size 25k 查找文件大小是25kb的文件
-25k 小于25kb的文件
25k 等于25kb的文件
+25k 大于25kb的文件
Tips:按照k是小写,按照M是大写
按照i节点搜索文件:
find /root -inum i节点
Tips:知道i节点查找文件: ls -i 文件名
搜索逻辑:
find /etc -size +20k -a -size -50k 查找/etc/目录下,大于20kb并且小于50kb的文件
Tips:
-a and 逻辑与,两个条件都满足 -o or 逻辑或,两个条件满足一个即可
find /etc -size +20k -a -size -50k -exec ls -lh {} \;
-exec: find的结果交给后面ls命令处理(
-exec {} \; 是标准格式)
文件内搜索:gerp
grep [选项] 字符串 文件名 #在文件当中匹配符合条件的字符串
选项: -i 忽略大小写 -v 配出指定字符串
使用正则表达式匹配(find使用通配符)
帮助命令:man
格式: man [-f] 命令名
选项帮助:
格式: 命令 --help
shell内部命令帮助:
help shell内部命令 #获取shell内部命令的帮助
eg:
whereis cd #确定是否是shell内部命令
help cd #获取内部命令帮助
压缩命令:
常见压缩格式: .zip .rar .7z .tar.gz .tar.bz2
zip压缩文件:
zip 压缩文件名 源文件名
压缩目录:
zip -r 压缩文件名 源目录
Tips:压缩文件名后缀可以.zip和.rar这些都没区别
zip解压文件:
unzip 文件名
.gz格式压缩
gzip 源文件 #压缩为.gz格式,源文件会消失
gzip -c 源文件 > 压缩文件 #源文件保留
eg. gzip -c cangls > cangls.gz
gzip -r 目录 #压缩目录下所有的子文件,但是不能压缩目录
gz解压缩:
gzip -d 压缩文件 #解压缩文件
gunzip 压缩文件 #解压缩文件
bz2格式压缩:
bzip2 源文件 #压缩为.bz2格式,不保留源文件
bzip2 -k 源文件 #压缩之后保留源文件
Tips:bizp2不能压缩目录
bz2解压:
bzip2 -d 压缩文件 #解压缩,-k保留压缩文件
bunzip 压缩文件 #解压缩,-k保留压缩文件
打包命令:tar
tar -cvf 打包文件名 源文件
选项:-c打包 -v显示过程 -f指定打包后的文件名
eg. tar -cvf longzls.tar longzls
解打包命令:-x
tar -xvf 打包文件名 #选项:-x解打包
eg. tar -xvf longzls.tar
.tar.gz压缩格式 linux中最常见
#.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项: -z 压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项: -x 解压缩.tar.gz格式
linux关机与重启命令
shutdown命令
shutdown [选项] 时间
选项: -c取消前一个关机命令 -h关机 -r重启
eg. shutdown -r now
date #查看当前时间:2015年 01月 10日 星期六 06:13:02 CST
shutdown -r 07:00 & #在7点重启,&表示后台执行,这样可以 执行其他命令
关机命令:(这3个命令都不安全,关机不保存)
halt poweroff init 0
重启命令:
reboot init 6
Tips:系统运行级别
0关机 1单用户 2不完全多用户,不含NFS服务 3完全多用户
4未分配 5图形界面 6重启
eg.
init 5 可以启动图形界面
runlevel #可以显示当前级别
退出登录:logout
远程登录的时候不要直接关闭窗口,而是用logout退出登录
挂载命令:
查询与自动挂载:
mount #查询系统中已经挂载的设备
mount -a #一句配置文件/etc/fstab的内容,自动挂载
/etc/fstab 是linux中自动挂载的文件,写到文件后,开机会自动挂载
挂载命令格式:
mount [-t 文件系统] [-o 特殊选项] 设备 文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统
-o 特殊选项: 可以指定挂载的额外选项
cd home/
vi hello.sh #下面内容
#!/bin/bash
echo "hello world!"
保存退出
赋予执行权限:
chmod 755 hello.sh
./hello.sh #执行文件
显示:
hello world!
挂载光盘
mkdir /mnt/cdrom/ #建立挂载点
mount -t iso9660 /dev/sr0 /mnt/cdrom/ #挂载光盘
mount -t iso9660 /dev/cdrom /mnt/cdrom/ #挂载光盘
#/dev/sr0是光盘挂载点,相当于/dev/cdrom
#/mnt/cdrom 挂载到cdrom中
出现下面一行,说明挂载成功:
mount: block device /dev/sr0 is write-protected, mounting read-only
cd cdrom/
ll
可以查看到光盘内容
Tips:挂载点只要是空目录就可以
卸载光盘命令:
umount 设备文件名或挂载点
eg. umount /mnt/cdrom 或者 umount /dev/sr0
Tips:卸载前需要离开光盘 cd ~
挂载U盘
fdisk -l #查看u盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
Tips:一般u盘插入是sbd1 /mnt/usb/是挂载点
用户登录查看命令:
查看用户登录信息:w 或者 who
查询当前登录和过去登录的用户信息:last
last命令默认是读取/var/log/wtmp文件数据
命令输出:
用户名 登录终端 登录ip 登录时间 退出时间(在线时间)
root pts/0 192.168.1.20 Fri Jan 9 06:22 - 13:33 (07:11)
root tty1 Fri Jan 9 06:20 still logged in
reboot system boot 2.6.32-431.el6.x Fri Jan 9 06:20 - 10:53 (1+04:32)
root pts/0 192.168.1.20 Fri Jan 9 06:19 - down (00:00)
root pts/0 192.168.1.20 Fri Jan 9 06:17 - 06:19 (00:01)
查看所有用户的最后一次登录时间:lastlog