linux常用命令及其参数
ls相关,文件与目录的检视
基本用法:ls [-options] 文件或者目录名称
ls [--color={never, auto, always}] 文件名或者目录名称
ls [--full-time] 文件名或目录名称
选项与参数:
-a : 全部的文件,连同隐藏档一起列出来
-d :仅列出目录本身,而不是列出目录中的文件数据
-i:列出inode号码
-l:长数据串行出,包含文件的属性与权限等数据
-n: 列出UID和GID而非使用者和群组的名称
-R:连同子目录一同列出来
例子:
ls -al /etc/ 用长列表方式列出/etc下的文件,包括文件属性
cp(复制文件和目录)
基本用法:cp [-options] 来源文件 目标文件
cp [-options] 来源1 来源2 ... 目标文件
选项与参数:
-a : 相当于-dr --preserve=all
-d :若来源为链接文件,则复制链接文件本身而非文件本身
-r:强制。若目录存在则强制创建
-i:若目标文件存在则会询问
-l:进行链接档的建立,而非文件本身
-p: 连同文件的本身权限一起复制
-r :连同子目录一同复制
-s:复制成为快捷方式
-u:可用于新旧目录的更新,目标比源文件新才会复制进去
例子:
cp -i /var/tmp/wtemp /tmp/ 文件权限没有复制 cp -a /var/tmp/wtemp /tmp/ 文件权限也复制
cp -d 复制链接文件属性
rm(移除文件和目录)
基本用法:rm [-options] 文件或目录
选项与参数:
-f :文件不会询问就会删除
-r: 递归删除,一般是删除目录
-i:询问后删除
mv(移动文件和目录,或更名)
基本用法:mv [-options] 文件或目录
-i: 如果存在会询问是否覆盖
-r: 移动整个目录 包括之下的文件
取得路径的文件名与目录名称
1 [root@study ~]# basename /etc/sysconfig/network 2 network <== 很简单!就取得最后的档名~ 3 [root@study ~]# dirname /etc/sysconfig/network 4 /etc/sysconfig <== 取得的变成目录名了!
文件内容查阅
cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less 与 more 类似,但是比 more 更好的是,他可以往前翻页! head 只看头几行 tail 只看尾巴几行 od 以二进制的方式读取文件内容!
例子:观察一个文件的11-20行
先用head命令再用tail head -n 20 1.txt | tail -n 10
新建一个文件和修改时间touch
ls --time 文件查看具体时间:
modification time (mtime):
当该文件的『内容数据』变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或
权限喔!
status time (ctime):
当该文件的『状态 (status)』改变时,就会更新这个时间,举例来说,像是权限与属性被更改了,都会更新
这个时间啊。
access time (atime):
当『该文件的内容被取用』时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取
/etc/man_db.conf , 就会更新该文件的 atime 了。
选项与参数:
-a :仅修订 access time;
-c :仅修改文件的时间,若该文件不存在则不建立新文件;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]
例子:
1 touch -d "2 days ago" bashrc 2 将上个范例的 bashrc 日期改为 2014/06/15 2:02 3 touch -t 201406150202 bashrc
mv test test1 更名 mv 1.txt test1/ 移动文件