Linux命令简介

1. 创建目录

mkdir

在当前路径创建一级目录

mkdir test

在当前路径创建多级目录

mkdir -p mytest/test1/test1_1

在创建目录的同时给新建的目录赋权限

mkdir -m 777 testmod

这样任何人对此目录都有任何权限

2. 复制文件与文件夹

cp

复制指定目录的文件到当前目录,并重命名

cp 1.txt 2.txt

强制复制指定目录的文件到当前目录,而不管当前目录是否含有该文件

cp -f 1.txt 2.txt

复制指定目录到当前目录

cp-r/root/test .

复制指定目录的文件到指定目录

cp a/1.txt b

在复制时将源文件的全部属性也复制过来。若不指定参数,则目标文件与源文件属性可能不一致。

cp-aa/1.txt b/2.txt

若源文件比目标文件更新才拷贝更新

cp -u a/1.txt b

关于此的更多内容请参考《linux cp命令详解

3. 建立链接文件,包括硬链接与软链接

ln

建立类似于 Windows 的快捷方式

ln -s test.txt test.txt_slnk

当想备份一个文件,但空间又不够,则可以为该文件建立一个硬连接。这样,就算原文件删除了,只要该

链接文件没被删除,则在存储空间里还是没有被删除。

ln -l test.txt test.txt_hlnk

关于此的更多内容请参阅《linux中软连接PK硬连接

4. 删除文件

rm

删除当前目录的文件

rm test.txt

强制删除当前目录的文件,不弹出提示

rm -f test.txt

强制删除整个目录,包括目录与文件全部删除,需要管理员权限

rm -rf test

5. 删除文件夹

rmdir

删除一个空目录

rmdir emptydir

删除多级空目录

rmdir -p emptydir/d1/d11

6. 挂载文件系统与卸载文件系统

mount/umount

挂载光驱

mount -t iso9660 /dev/cdrom /mnt/cdrom

挂载光驱,支持中文

mount -t iso9660 -o codepage=936,iocharset=cp936 /dev/cdrom /mnt/cdrom

挂载 Windows 分区,FAT文件系统

mount -t vfat /dev/hda3 /mnt/cdrom

挂载 Windows 分区,NTFS文件系统

mount -t ntfs -o iocharset=cp936 /dev/hda7 /mnt/had7

挂载 ISO 文件

mount -o loop /abc.iso /mnt/cdrom

挂载 软驱

mount /dev/fd0 /mnt/floppy

挂载闪盘

mount /dev/sda1 /mnt/cdrom

挂载 Windows 操作系统共享的文件夹

mount -t smbfs -o username=guest,password=guest //machine/path /mnt/cdrom

显示挂载的文件系统

mount

cat /etc/fstab        显示系统启动自动加载的文件系统

cat /etc/mtab        显示当前加载的文件系统

7. 检查磁盘空间

df

该命令默认以页为单显示的空间大小。

显示所有存储系统空间使用情况.

df

显示所有存储系统空间使用情况,同时显示存储系统的文件系统类型。

df -aT

显示指定文件系统的空间使用情况

df -t ext3

以字节为单位显示各存储空间大小

df -ah

有时候挂载了网络文件系统,若只想看本机的文件系统用如下命令

df -ahlT

查看某个文件系统所属的磁盘使用情况

df -h /dev/cdrom

8. 检查目录空间大小

du

查看当前文件夹大小

du -sh

递归显示当前文件及文件中包含的子文件夹所有大小

du -ch

查看文件的大小

du -h 1.txt

同时查看多个文件的大小

du -h 1.txt 2.txt

9. 磁盘碎片整理

linux 下基本上不用碎片整理,它每隔一段时间会自动整理

10. 创建/改变文件系统

创建文件系统类型

umount /dev/sdb1

mkfs -t ext3 /dev/db1

mount /dev/sdb1 /practice

11. 改变文件或文件夹权限

chmod

将自己的笔记设为只有自己才能看

chmod go-rwx test.txt或chmod 700 test.txt

同时修改多个文件的权限

chmod 700 test1.txt test2.txt

修改一个目录的权限,包括其子目录及文件

chmod 700 -R test

12. 改变文件或文件夹拥有者

chown

该命令只有 root 才能使用

更改某个文件的拥有者

chown jim:usergroup test.txt

更改某个目录的拥有者,并包含子目录

chown jim:usergroup -R test

13. 查看文本文件内容

cat

查看文件内容,并在每行前面加上行号

cat -n test.txt

查看文件内容,在不是空行的前面加上行号

cat -b test.txt

合并两个文件的内容

cat test1.txt test2.txt > test_new.txt

全并两具文件的内容,并追回到一个文件

cat test1.txt test2.txt >> test_total.txt

清空某个文件的内容

cat /dev/null > test.txt

创建一个新的文件,并进行录入,然后按 CTRL + C 结束录入

cat > new.txt

14. 编辑文件文件

vi

新建档案文件

vi newfile.txt

修改档案文件

vi test.txt   test.txt 已存在

vi 的两种工作模式:命令模式,编辑模式

进入 vi 后为命令模式,按Insrt键进入编辑模式

在编辑模式,按ESC键 进入命令模式,在命令模式不能编辑,只能输入命令

命令模式常用命令

:w 保存当前文档

:q 直接退出 vi

:wq 先保存后退出

关于vi编辑器的更多内容请参考《vi编辑器

15. 路径操作

pwdcd

首先需要注意Linux没盘符的概念,绝对路径是以"/"开始的的,比如home目录应该表示为"/home"

显示当前路径

pwd

返回用户主目录

cd

改变到其它路径

cd /etc

返回到上一级目录

cd ..

返回到根目录

cd /

另外可以通过PWD变量取得当前目录的路径。

关于获得当前目录名的方法请参考《Linux中获得当前目录名称的4种方法

16. 查询文件或文件夹

find

在当前目录下搜索文件名为f1的文件

find.-name f1

在当前目录下,搜索包含特定字符串的文件

find.-name "*.java" | xargs grep 'AsyncTask'

查找当前用户主目录下的所有文件

find ~

让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;

find . -perm 644 -exec ls -l {} \;

为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;

find / size 0 -type f -exec ls -l {} \;

查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;

find /var/logs -mtime +7 -type f -ok rm -i {} \;

为/找系统中所有属于root组的文件;

find / -group root -exec ls -l {} \;

find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件

find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;

为了查找当前文件系统中的所有目录并排序

find . -type d | sort

为了查找系统中所有的rmt磁带设备

find /dev/rmt

17. 显示文件/文件夹清单

lsdir

显示所有文件,包括以.开头的隐含文件

ls -a

显示文件的详细信息

ls -l

显示当前目录及所有子目录信息

ls -Rl

以时间排序显示目录,这在找最新文件有用

ls -tl

以文件大小排序

ls -Sl

显示文件大小,并按大小排序

ls -s -l -S

18. 移动或更改文件/文件夹名称

mv

若移动目标文件已存在,要在移动之前,先备份原来的目录文件

mv -b test.txt test2/

这样在 test2 下将有两个文件 test.txt 及 text.txt~

其中 test.txt~ 是备份文件,test.txt是新的文件

若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖

mv -f test.txt test2/

当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动

mv -u test.txt test2/

更改文件名称

mv test.txt test2.txt

更改目录名称

mv /test2 /test2_2

推荐阅读更多精彩内容