Linux常用命令-File system related

Preface

    前不久刚刚被录取为研究生,找过导师后,由于本科期间只是在linux上面编过程序,并不是太了解,所以导师给了我一些linux常用命令让我先学一下,现在自己写一下,感觉应该能加深点印象吧。

    有一些复杂的命令以后单独写文章,这里只包含简单的命令。

    啊,这篇文章从开始写,陆陆续续被保存为草稿,所以就放弃一次性全部写完,分章节写吧。

File system related

命令和参数之间有一个空格。试了一下,多打几个空格也可以。

LS

ls:显示不隐藏的文件和不隐藏的文件夹,这里说的是直接输入ls不带参数。

ls -a:显示所有文件和所有文件夹。

ls -l:显示文件夹和文件,并且显示详细信息,但是不含隐藏文件。

ll:显示文件夹和文件,并且显示详细信息,但是不含隐藏文件,这不是一条命令,它只是 ls -l 这个命令的别名。

ls -al:显示所有文件和所有文件夹,并且显示详细信息。

ls -la:和上一条一样,说明参数是没有顺序的。

ls -aalll:和上一条一样,说明同一个参数重复多次也可以,效果是一样的,就算你手滑多打了也不会报错。

 

CD

cd:进入个人的主目录 ,这里说的是直接输入cd不带参数。

cd ..:进入上一级目录。

cd ../..:进入上两级目录。

cd - :返回上次工作的目录 。

cd directory:进入某个目录,directory就是某个目录,比方说“/home/cpps”这个目录,当然,输入的时候可没有双引号。

 

MOUNT

sudo mount /dev/sda1 /mnt/m1/:将第一块硬盘的第一个分区挂载到这个目录下。

sudo mount /dev/sdb1 /mnt/m2/:将第二块硬盘的第一个分区挂载到这个目录下。但是以只读模式挂载,这样比较安全。

 

UMOUNT

sudo umount /dev/sda1:卸载这个分区。

sudo umount -r /dev/sda1:卸载这个分区。但是如果这个分区正在使用中的话,就会被重新已只读模式被挂载。

 

CP

cp /tmp/123 /tmp/234:将/tmp/123复制到/tmp目录下并更名为234,这里说的是直接输入cd不带参数。

cp -i /tmp/123 /tmp/234:将/tmp/123复制到/tmp目录下并更名为234。

    等一下,这个 -i 选项是覆盖前询问的意思,系统会停下来有个问题问你覆盖还是不覆盖,你可以打字回答,刚才我们已经复制过了,如果回答n那么就是不覆盖,回答y就是覆盖,直接按回车什么也不回答也是不覆盖,回答既不是n也不是y的话,也还是不覆盖。等一下,还有,回答yes也是覆盖!!回答ok不行,ok也是不覆盖。综上所述,只有回答yes或者y才是覆盖型复制,回答其他都是不覆盖的。如果目标文件不存在,我们使用 -i 选项,那么系统不会询问你。

cp /tmp/123 .:将123复制到当前目录下,至于当前目录是哪个目录时具体情况而定。第二个参数是一个点,有点小。

cp -a /tmp/123 /tmp/345:将123的所有特性全部复制过去。至于什么是所有特性,三言两语无法解释清楚,打扰了。

    如果以普通用户身份cp -a /tmp/123 /tmp/345,而123这个文件恰好又是root拥有的,这时,即使我们加了-a选项,我们也无法将123文件的用户和用户组一同复制过来,我们得到的345这个文件的用户和用户组是普通用户的。我个人的理解是,你自己复制东西给你自己,总不能复制到最后这个文件是属于别人的把。你可以复制别人的文件,连同权限一起复制过来,但是这个复制过来文件的拥有者只能是你自己,别人的文件最后还是别人的,你的就是你的。

 

LN

ln aaa bbb:硬连接,连接两个文件。修改aaa或bbb,另外一个文件也会被修改。删除aaa或bbb,另外一个文件不会受到影响。

ln -s ccc ddd:软连接,又称符号连接。ddd相当于快捷方式,如果删除ccc那么ddd就打不开了,这个快捷方式就没用了。

 

TOUCH

touch filename:新建一个空文件。如果这个文件已经存在了,那么这个操作会更新文件的建立日期和时间。

 

RM

rm filenaame:删除一个文件。如果不存在这个文件,则系统就会提示你。

rm dirname:如果删除一个目录的话,系统会提示你不能删除。

rm -d dirname:删除一个空目录。

rm -r dirname:删除这个目录,即使它非空。

rm -i filename:在删除这个文件之前进行询问,防止手滑。

 

RMDIR

rmdir dirname:删除一个空目录,不是空目录的话,不能删除。(这个命令好像没啥用)

 

MKDIR

mkdir dirname:会创建一个空目录。

mkdir -m xyz dirname:创建目录时设定目录的权限,这里xyz是三个数字,具体什么是权限另外再写把,这里就不说了。

 

MV

mv file_name dir_name:将文件移入目标目录。

mv dir1 dir2:将目录dir1移入dir2。

mv -i file_name dir_name:将文件移入目标目录,但是如果有同名文件的话会询问用户,防止同名文件覆盖

回答 yes 或 y 表示覆盖。

mv -b file_name dir_name:如果目标目录中有同名的文件,那么就在其文件名后面加个“~”符号。

mv file_name1 file_name2:将文件file1重命名为file2。

 

PWD

pwd:不带参数会显示目前的工作目录。

有的版本的linux的命令行提示符并不会显示当前目录,所以这个命令还是有用的。

 

MKFS

sudo mkfs -t ext4 /dev/sda1:将第一块硬盘上的第一个分区格式化为ext4格式。

sudo mkfs -t ext3 /dev/sdb4:将第二块硬盘上的第四个分区格式化为ext3格式。

 

DF

df:不带参数会显示全部文件系统。

df -t ext4:显示所有的ext4文件系统。

df -t ext3:显示所有的ext3文件系统。

df -t msdos:显示所有的fat文件系统。

 

 

FSCK

sudo fsck /dev/sdb3:检查并修复第二块硬盘上的第三个分区。

 

FIND

find . -type d:找出当前目录含有的所有子目录。表示当前目录的“点”有点小,可能看不清。

find . -type f:找出当前目录含有的普通文件。

find . -type f -print:找出当前目录含有的普通文件。

find . -type f -print0:找出当前目录含有的普通文件,但是是在一行输出的(看的眼花缭乱)。

find . -type b:找出当前目录含有的块设备文件。块设备文件可以随机读写。字符设备文件只能顺序接受“字符流”。

find . -type c:找出当前目录含有的字符设备文件。

find -type f:找出当前目录的所有普通文件。如果不写路径,那就是在当前目录下查找。

find /home/cyf -type f:找出目标目录中的所有普通文件。

find dirname -name filename:找出目标目录中的某个文件。文件名中也可以使用通配符

find dirname -name *.c:找出目标目录中的所有c程序文件。这就是个使用通配符的例子。

 

SYNC

sync:直接输入不需要参数,将缓冲区中的数据强制写入硬盘。”synchronize“的缩写。

 

DU

du -h file_name:显示这个文件所占用的空间大小。以一种人类可读的单位。

du -h dir_name:显示这个目录所占用的空间大小和其所有子目录的大小。

du:显示当前目录所占用的空间大小和其所有子目录的大小。

du -b:显示当前目录所占用的空间大小和其所有子目录的大小。以字节为单位。

du -k:显示当前目录所占用的空间大小和其所有子目录的大小。以千字节为单位。

du -m:显示当前目录所占用的空间大小和其所有子目录的大小。以兆字节为单位。不满一兆会显示一兆。

 

    由于水平有限,还请多多谅解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值