一.命令基本格式:命令 (选项)(参数)
查询目录内容命令 ls
几个选项:
-a 显示所有文件,包括隐藏文件(“ . ”开头的文件),这是一个简化选项,它的完整选项是--all
-l 显示详细信息(- rw- r-- r-- 四块,分别表示文件类型,所有者,所属组,其他人) (ls -l 等于 ll)
-d 查看目录属性()
-h 人性化显示(将字节转化为kb)
-i 显示inode(显示文件编号)
eg: # ls -la etc (查看etc目录下的所有文件)
二.文件处理命令
1.建立目录: mkdir (-p) 文件名
若加-p则可以创建递归文件夹即文件夹套文件夹: # mkdir -p abc/def
一条命令可以加n个文件名,一次性建立n个文件夹,其他命令同理
2.切换目录: cd 目录名
几个相关的快捷命令:# cd ~ 或# cd(回到家目录)
# cd -(回到上一次目录)
# cd ..(回到上一级目录)
补充:a.若在/home下有两个目录,abc和def;
以绝对路径方式进入abc:# cd /home/abc 即先进入根,再从 / 开始一级一级向下;
以相对路径方式进入abc:如果从 def进入:# cd ../abc 即先返回上一级home,再进入其子目录abc;
前者在任何目录下都可以实现,后者则有相对性。
b.tab键按一下或两下可命令补全/目录补全
3.打印目录名: pwd (print working directory)
4.删除空目录: rmdir 目录名 (remove empty directories,只能删空目录,较少使用)
删除文件或目录: rm -rf 文件名或目录名 (其中,-r表示remove目录,不能用于删文件,-f则表示force,合起来-rf既可删文件也可删目录)
注意:# rm -rf / 即删除根目录是可行的;
# rm -rf abc 和# rm -rf abc/* 后者是删除该目录下的所有文件(‘/’不能省却),前者是删除整个目录;
5.复制命令: cp 选项 原文件或目录 目标目录/(更改的名称)
几个选项:
-r 复制目录
-a 保持复制文件和源文件一模一样(包括最后修改时间),等于-pdr
eg:# cp -a install.log tmp/rename (不加“/rename”则是原名复制)
注:重复复制会覆盖,同名复制会覆盖。
6.剪切或改名命令: mv 原文件名或原目录名 目标目录
mv对目录操作时不加-r,其他和cp保持一致
原文件与目标目录在不同目录时,表示剪切;在同一目录时,表示改名
7.建立硬链接: ln 目标文件 源文件
建立软连接: ln -s 目标文件 源文件(或硬链接)
注:硬链接相当于源文件的复制品,删除两者任意一个另一者都可以正常打开,修改任一者另一者也会同时改变。
软连接相当于windows中的快捷方式,删除后者会使前者失效,但修改软连接文件时源文件也会相应改变。
用软连接时必须用绝对路径。
三.文件搜索命令
1.文件搜索命令
locate 文件名 (只能搜文件名,在后台数据库中搜索,速度快,数据库一天一更新,可用# updatedb强制更新)
问题:假如/和/tmp下都有一个abc文件,执行# locate abc ,发现搜不到/tmp下的abc。
解释:locate是根据配置文件 /etc/updatedb.conf 进行搜索的,这个文件可将一些文件夹、文件排除在搜索范围之外。
find 搜索范围 搜索条件
# find / -name install.log(-name表示文件名搜索,完全匹配install.log)
补充:若要模糊搜索,需用通配符:* ? []
eg: # find /root -name "install.log*"(找出文件名中含install.log的,需加双引号)
# find /root -name "*"(列出/root 下所有的文件)
# find /root -name "ins??????o?"(找文件名含11个字符且除“?”其余位置字符对应的文件,需加双引号)
# find /root -name “ins[tt]all.lo[ghijklmn]” (找文件名为[ ]对应位置字母为[ ]之中任一个的文件)
# find /root -name “*[g]" (找文件名以g结尾的文件)
一些选项:
-iname 不区分大小写
-user 按所有者搜索
-nousr查找没有所有者的文件(没有所有者的文件有三种:内核产生、外来文件和垃圾文件,故可用来手动清理垃圾)
# find var/log -mtime +10(-10,10,+10分别代表十天内,第十天前当天,十天前;
atime,ctime,mtime分别代表文件访问时间,改变文件属性时间,修改文件内容时间)
# find /root -size 25k (-25,+25表示小于,大于25;注意k是小写,若用M需大写)
# find /root -inum 123456 (查找/root下i节点为123456的文件)
find略微复杂的功能:
# find /root -size +25k -a -50k (-a表示and,-o表示or)
# find /root -size +25k -a -50k -exec ls -lh {} \; (-exec 命令 {} \; 可直接对找到的文件进行该命令操作,此处是详细人性化显示)
# find /root -inum 123456 -exec rm -rf {} \; (此处是删除i节点为123456的文件)
2.搜索命令的命令
whereis 命令(类似的还有 # whoami # whatis)
可加的选项:
-b 只看可执行文件位置
-m 只看帮助文件位置
which 命令 (查看可执行文件位置,还可以查看该命令的别名)
注:这两个命令只能查找shell自带的命令,找不到外部安装的命令。
3.搜索字符串(文件内容)的命令
grep (选项) 字符串 文件名
可加选项:
-i 忽略大小写
-v 取反,即搜索不包含指定字符串的内容
四.帮助命令
man 命令
/ -d 查找含-d关键字的选项
man -f 命令 查看该命令所拥有的帮助级别(等于whatis 命令 )
man 5 passwd (查看passwd第五等级的帮助)
man -k 命令 查看含有该命令关键字的命令的帮助等级
五.压缩命令
1. .zip
压缩: # zip 压缩文件 源文件
# zip -r 压缩目录 源文件 (整个目录被压缩)
解压: # unzip 压缩文件 (目录)
最好在压缩文件名里加后缀,以区分是否为压缩文件
会保留源文件
2. .gz (linux独有,但可以在win中实现解压缩)
压缩: # gzip 源文件(压缩后会删除源文件)
# gzip -c 源文件 > 压缩文件 (输出重定向,把结果输出到压缩文件)
# gzip -r 源目录 (只能分别压缩目录下的所有文件,不能压缩整个目录)
解压: # gzip -d 压缩文件(-dr 为解压目录子文件)
# gunzip 压缩文件 (加 -r 为解压目录子文件)
3. .bz2
压缩: # bzip2 源文件 (若加 -k 会保留源文件,没有 -r 选项)
解压: # bzip2 -d 压缩文件
# bunzip2 压缩文件
可以发现,上述三种方式中只有zip压缩可以自主命名;而对压缩文件操作时,命令中可略去后缀 .xxx
4.打包命令tar (更为常见)
tar -cvf 打包文件名 源文件 (-xvf为解打包,不会删除源文件)
-c 打包
-v 显示过程
-f 指定打包后的文件名
tar -zcvf (/home/)压缩包名.tar.gz 源文件1 源文件2... (一次性打包加压缩(到/home),-z意为压缩为.tar.gz格式,可换成 -j 意为bz2格式)
tar -zxvf 压缩包名.tar.gz (-C /home) (解压缩并解打包(到/home),同样可换为 -j 为bz2格式 )
tar -ztvf 压缩包名.tar.gz (查看但不解压)
五.关机和重启命令
shutdown 选项 时间 (若用虚拟机,需查看时间;安全的关机命令)
一些选项:
-c 取消前一个关机命令 (可不加时间)
-h 关机 (若时间不为now,执行后会固定在终端界面,需在时间后加 &,表示后台计时)
-r 重启
其他的关机命令:
# half
# poweroffhttp://write.blog.csdn.net/postedit/53820229
# init 0
其他的重启命令:
# reboot (较安全)
# init 6
注:0~6 七个运行级别,runlevel显示上一个和当前级别。
# cat /etc/initatab ,改最后一行可更改开机默认运行级别
退出登录命令:
# logout
七.其他命令
查询已挂载的设备 # mount
依据配置文件/etc/fstab的内容自动挂载 # mount -a
挂载命令 mount -t 系统文件 -o 特殊选项 设备文件名 挂载点
-t 文件系统 :即挂载类型,如ext3、ext4、iso9660
-o 特殊选项
1.date
2.su 用户名(退出root)