1.吐槽
一些命令的名字真的不够人性化。重命名竟然是mv命令。
2.查找
2.1 locate
有时候不知道系统有没有装某个程序,就可以locate 程序名 来确认。
2.2 find
查找目录或文件
find / -name filename
在根目录下查找名为filename的文件或目录。
find / -name filename 2>/dev/null
因为权限问题,访问某些目录可能会报错,所以讲标准错误送到无底洞即可。
find ./ -mtime +30 -name '*.log' | xargs rm
删除当前目录下30天前的日志文件。需要注意的是 find xxx | rm 这种语法不能正常工作,因为管道在这里不正常,所以必须要用xargs 。
3.颜色
在xshell下,查看当前目录下的文件,名字会有颜色。
蓝->目录;蓝绿->链接;红->压缩文件;绿->可执行文件;
4.链接
Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link)。类似Windows的快捷方式,为若干目录项之间建立联系。
在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。为文件A创建硬连接文件B时,B指向的Inode同A,此时Inode计数为2.
软连接的指针指向文件而非Inode,也不会引起Inode计数的变化。
ln 链接
举例:
ln –s 源文件 快捷方式 //这是一个软连接。新建的链接为目标文件,指向源文件
readlink命令
$ readlink /usr/bin/awk /etc/alternatives/awk // 其实这个还是一个符号连接 $ readlink /etc/alternatives/awk /usr/bin/gawk //这个才是真正的可执行文件 $ readlink -f /usr/bin/awk /usr/bin/gawk //加上-f 参数直接找到最终结果
5.压缩与解压
5.1tar
参数:
-c:建立一个打包文件(create 的意思)。
-x:解包。
-t:查看 tarfile 里面的文件。
-j:解压缩.bz后缀的tar文件。
tar -xzvf XX.tar.gz用来解压.tar.gz文件。
5.2 zip
zip在windows与linux下都更常见一些。
zip -rq zipFile originFolder //将originFolder文件夹压缩为zipFile.zip。r为recursion,q为quiet。
unzip 待解压的文件名.zip //解压文件到当前目录
unzip 待解压的文件名.zip -d folder //解压到指定目录
6.增删改
touch :新建文件。
mkdir : 新建目录。
6.1 cp
cp file1 file2 //将文件file1复制成文件file2
cp -f file1 file2 //将文件file1复制成file2,因为目的文件已经存在,所以指定使用强制复制的模式
cp -R dir1 dir2 //将目录dir1复制成目录dir2
6.2 mv
mv [选项] 源文件或目录 目标文件或目录 //移动文件或目录
mv aaa bbb //将aaa重命名为bbb
mv -r a/ b/ //将文件夹a 重命名 为b -r为递归
6.3 rm
删除文件和目录。
-r 递归删除,适用于文件夹。
-f 强制删除,不再交互式地一一确认。
rm -rf theFolder //删除文件夹及文件夹内的内容,删除前不再对文件一一询问。
6.4 du
查看目录大小。
du -h --max-depth=1
查看当前目录下个子目录的大小,-h表示用KB、MB等单位;--max-depth表示深度为1的子目录。例子;
6.5 df
查看磁盘空间占用。
df -h
7.权限
7.1 chown
改变文件的所属用户。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的名录下之后,让用户拥有使用该文件的权限。
7.2 chomd
改变文件权限。一个简单暴力的语句是 chmod 777 fileName。r4,w2,x1。三个数字依次代表所属用户,所属用户组,其他用户的权限。
7.3 ls命令
-rw-r--r-- 1 admin admin 4436 Oct 11 11:06 setenv.sh
-|rw-|r--|r--|1|admin|admin|4436|Oct 11 11:06|setenv.sh
文件类型|用户权限|用户所在组权限|其他用户权限|i-node连接数|所属用户|所属用户组|文件大小|创建修改时间|文件名
文件类型:-表示普通文件;d表示目录,directory;l表示链接,link。
8.文件详细信息
stat命令。
*********************************************
[op1@VMS03118 crawl]$ stat start.sh
File: `start.sh'
Size: 104 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1312332 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 503/ op1) Gid: ( 504/ op1)
Access: 2015-02-09 17:05:53.090674251 +0800
Modify: 2014-05-21 14:26:04.000000000 +0800
Change: 2015-02-06 19:50:45.069201969 +0800
*********************************************
Access,访问时间:读取一次文件的内容,该时间便会更新。
Modify,修改时间:对文件内容修改一次便会更新该时间。例如使用vim等工具更改了文件内容并保存。
Change,改变时间:更改文件的属性便会更新该时间,比如使用chmod命令更改文件属性。
注意在windows下,一个文件有:创建时间、修改时间、访问时间。不同于linux。