具体解释linux文件处理的的经常使用命令

原创Blog。转载请注明出处

附上之前訪问量比較高的几篇linux博客

本人使用shell的8个小技巧

grep的九个经典使用场景

sed命令具体解释

awk命令具体解释

linux中全部的东西都是文件,命令就是一个一个二进制文件

1、ls

/bin/ls

经常使用选项

-a 全部文件(包含隐藏文件)

-l 具体信息

-d 文件夹属性

-i 查看inode

举例

[root@localhost testForCsdn]# ls
fileList  first  second
[root@localhost testForCsdn]# ls -a
.  ..  fileList  first  second
[root@localhost testForCsdn]# ls -l
total 16
-rw-r--r-- 1 root root 100 Oct 18 23:12 fileList
-rw-r--r-- 1 root root   0 Oct 24 18:04 first
-rw-r--r-- 1 root root   0 Oct 24 18:04 second
[root@localhost testForCsdn]# ls -al
total 32
drwxr-xr-x  2 root root 4096 Oct 24 18:04 .
drwxr-x--- 17 root root 4096 Oct 24 17:56 ..
-rw-r--r--  1 root root  100 Oct 18 23:12 fileList
-rw-r--r--  1 root root    0 Oct 24 18:04 first
-rw-r--r--  1 root root    0 Oct 24 18:04 second
[root@localhost testForCsdn]# ls -d
.
[root@localhost testForCsdn]# ls -i
2256719 fileList  2256718 first  2256730 second
分析下

-rw-r--r-- 1 root root 100 Oct 18 23:12 fileList
对于这一行来说,从左至右分析

-表示这是一个二进制文件

rw-r--r-- 分别r表示读权限,w表示写权限,-表示没有权限。假设是x表示可运行权限,一共9个,三个一组。分别表示创建者,所属组,其它人

所以,对于创建者来说是rw-就是可读写不可运行,对于所属组就是r--仅仅有读的权限,其它人仅仅有读的权限

1表示硬链接数目

第一个root表示用户

第二个root表示用户组

100表示文件大小,假设是文件夹就是文件夹和子文件夹大小

Oct 18 23:13:12 表示最后改动的时间

fileList 表示文件名称


2、cd 

change direction

和cd配合的经常使用命令还有

pwd  查看当前文件夹

改变文件夹

首先解说下文件夹

/ 根分区,全部的文件和文件夹都由此開始

/bin 用户可运行文件

/sbin 系统可运行文件,主要供管理员使用。s为super

/etc 配置文件

/dev 设备文件

/proc 进程信息。如/proc/cpuinfo包括了处理器信息

/var  变量文件如log,mail

/usr 用户程序。为用户应用程序存放文件

/home 用户主文件夹

/boot 启动载入项

/opt 可选应用

/mnt 挂载文件夹

/media 可移动媒体 如/media/cdrom

/srv 服务数据

举例

[root@localhost etc]# cd /etc/
[root@localhost etc]# pwd
/etc
[root@localhost etc]# cd ~
[root@localhost ~]# pwd
/root
这里要说明的是

cd ~代表回到当前登陆用户的主文件夹

假设是root回到/root/

假设是普通用户,回到/home/


3、touch 

创建空白文件文件或者改动文件的时间戳

经常使用选项

-a 仅仅更改存取时间

-c 不建立不论什么文档

-d 使用指定的日期

-m 仅仅更改变动时间

-r  把指定文档的或者文件夹的日期时间改为和參考文档的同样

-t  设置指定的时间戳

举例

[root@localhost testForCsdn]# ls -l
total 16
-rw-r--r-- 1 root root 100 Oct 18 23:12 fileList
-rw-r--r-- 1 root root   0 Oct 24 18:04 first
-rw-r--r-- 1 root root   0 Oct 24 18:04 second
[root@localhost testForCsdn]# touch thrid
[root@localhost testForCsdn]# ls -l
total 20
-rw-r--r-- 1 root root 100 Oct 18 23:12 fileList
-rw-r--r-- 1 root root   0 Oct 24 18:04 first
-rw-r--r-- 1 root root   0 Oct 24 18:04 second
-rw-r--r-- 1 root root   0 Oct 24 18:34 thrid
[root@localhost testForCsdn]# touch -t 201410250935.40 thrid 
[root@localhost testForCsdn]# ls -l
total 20
-rw-r--r-- 1 root root 100 Oct 18 23:12 fileList
-rw-r--r-- 1 root root   0 Oct 24 18:04 first
-rw-r--r-- 1 root root   0 Oct 24 18:04 second
-rw-r--r-- 1 root root   0 Oct 25  2014 thrid
能够看到,用-t更改了时间戳

4 mkdir

创建一个文件夹

经常使用选项

-m 创建时候指定权限

-p 指定路径。假设该路径上有些文件夹不存在,则会创建。就是能够一次创建多层文件夹

-v 显示具体信息

举例

[root@localhost testForCsdn]# mkdir -m 777 firstDir
[root@localhost testForCsdn]# ls -al
total 44
drwxr-xr-x  3 root root 4096 Oct 24 18:41 .
drwxr-x--- 17 root root 4096 Oct 24 17:56 ..
-rw-r--r--  1 root root  100 Oct 18 23:12 fileList
-rw-r--r--  1 root root    0 Oct 24 18:04 first
drwxrwxrwx  2 root root 4096 Oct 24 18:41 firstDir
-rw-r--r--  1 root root    0 Oct 24 18:04 second
-rw-r--r--  1 root root    0 Oct 25  2014 thrid
[root@localhost testForCsdn]# mkdir -p firstDir/secondDir/thridDir
[root@localhost testForCsdn]# cd firstDir/secondDir/thridDir/
[root@localhost thridDir]# pwd
/root/testForCsdn/firstDir/secondDir/thridDir
能够看到。通过-p一次创建了多层文件夹。-m在创建文件夹的同一时候给予777的权限


5 cp 

copy

经常使用选项

-b 删除覆盖目的文件的时候先备份

-i  询问是否覆盖

-P 保留源文件的或者文件夹的属性:全部者,所属组,权限时间

-r 复制文件夹

举例

[root@localhost testForCsdn]# ls
fileList  firstDir  second  thrid
[root@localhost testForCsdn]# ls firstDir/
fileList  second
[root@localhost testForCsdn]# cp thrid  firstDir/
[root@localhost testForCsdn]# cp -b fileList firstDir/
cp: overwrite `firstDir/fileList'? y
[root@localhost testForCsdn]# ls firstDir/
fileList  fileList~  second  thrid
[root@localhost testForCsdn]# mkdir secondDic
[root@localhost testForCsdn]# cp -r firstDir/ secondDic/
[root@localhost testForCsdn]# ls secondDic/
firstDir

顺便说下scp:举个样例

scp是远程拷贝,假设要远程复制文件夹用-r

scp -r root@192.168.0.12:~/testCSDN/ localCSDN/

把192.168.0.12的~/testCSDN复制到localCSND下

6、mv

剪切和重命名

举例

[root@localhost testForCsdn]# ls
fileList  firstDir  second  secondDic  thrid
You have new mail in /var/spool/mail/root
[root@localhost testForCsdn]# mkdir tempDic
[root@localhost testForCsdn]# ls
fileList  firstDir  second  secondDic  tempDic  thrid
[root@localhost testForCsdn]# mv fileList newName
[root@localhost testForCsdn]# mv newName tempDic/
[root@localhost testForCsdn]# ls
firstDir  second  secondDic  tempDic  thrid
[root@localhost testForCsdn]# ls tempDic/
newName

7 cat more

都是用来查看文件内容

cat适合较短的文件

More会分页查看:空格翻页。回车下一行。q退出

cat filename

more filename



8 head tail

查看文件的前几行,后几行

tail -f能够用来动态查看文件的后几行

举例


9 ln

创建软连接和硬链接

软链接:类似于windows中的快捷方式

硬链接:两个文件同步更新

软链接能够跨文件系统,硬链接不能够

举例

创建一个软连接

[root@localhost ~]# ln -s file.txt file.hardlink

创建一个硬链接

[root@localhost ~]# ln file.txt file.hardlink

能够看到。file.txt的硬链接数目变成了2

-rw-r--r-- 2 root root   210 Oct 19 07:54 file.hardlink
lrwxrwxrwx 1 root root     8 Oct 24 19:14 file.softlink -> file.txt
-rw-r--r-- 2 root root   210 Oct 19 07:54 file.txt

然后。改动file.txt

在文件開始键入testCSDN

再查看硬链接

[root@localhost ~]# head -5 file.hardlink 
testForCSDN
backup
bin
boot
dev
能够看到,同步更新了内容






posted @ 2017-06-06 13:24  llguanli  阅读(129)  评论(0编辑  收藏  举报