linux操作目录命令,Linux操作目录和文件的命令

$PATH

每个用户的PATH都是不一样的;

PATH中不包含“当前目录”;

(1)echo $PATH:显示PATH环境变量;

(2)PATH = "$PATH":/home/xiazdong:添加路径到PATH中;

配置环境变量PATH:在/etc/profile文件中配置;

根据命令查询文件

which命令根据PATH环境变量查询命令文件;

(1)which ifconfig:根据命令查询$PATH中此命令文件的位置;

(2)which -a ifconfig:根据命令查询$PATH中此命令文件的全部位置;

第一部分:操作文件/目录

一、pwd

pwd(Print Working Directory)为了显示当前你所在的目录是哪个目录;

(1)pwd:显示当前所在位置(目录),和pwd -L效果完全一样,

(2)pwd -P:显示当前所在位置,避免全部的链接;

pwd与pwd -P的区别在于如果你现在在一个链接目录,则pwd仍然显示链接目录,而pwd -P则显示链接的源目录;

目前存在一个/home/xiazdong/Test/dir1目录,他存在一个链接/home/xiazdong/Test/linkdir1;

0818b9ca8b590ca3270a3433284dd417.png

我们首先cd进入linkdir1目录;则

(1)pwd显示当前目录为链接目录:/home/xiazdong/Test/linkdir1;

(2)pwd -P显示当前目录为源目录:/home/xiazdong/Test/dir1;

二、cd

cd(Change Directory)用来切换目录的命令;

(1)~:当前用户的工作目录,比如以xiazdong登陆,则为/home/xiazdong;

(2)-:前一个访问的目录,即历史记录;

(3)~user:进入/home/user目录,比如user为xiazdong,则切换到/home/xiazdong;

(4).:当前目录;

(5).. :上一层目录;

注:光输入cd等同于cd ~;

三、mkdir

mkdir(Make Directory)用来创建目录;

(1)mkdir dir:按照默认权限创建目录dir;

(2)mkdir -m 711 dir:按照指定权限创建目录;

(3)mkdir -p dir/dir/dir:创建多级目录;

Tips:umask命令

上面我们说到了“默认权限”,这与umask有关;

默认情况下一般用户的umask=002,root用户的umask=022;

如果要修改umask默认值,则可以在/etc/bashrc中修改;

对于目录来说默认权限为drwxrwxrwx,对于文件来说默认权限为-rw-rw-rw-;

如果用户创建了一个文件,则文件应有的权限为(默认权限-umask);

比如一般用户文件的默认权限为-rw-rw-rw-,umask为-------w-,因此文件实际权限为-rw-rw-r--;

比如root用户文件的默认权限为-rw-rw-rw-,umask为----w--w-,因此文件实际权限为-rw-r--r--;

我们通过umask命令即可查看当前的umask数字值,umask有四位数,第一位为文件隐藏权限(SUID、SGID、SBIT);

我们也可以umask -S 查看当前的umask的符号值;

也可以通过:umask 003  设置umask值;

Tips:basename、dirname命令

basename:根据文件的完整目录名取得文件名称;

dirname:根据文件的完整目录名取得目录名称;

basename /home/xiazdong/Software/ntfs-3g_ntfsprogs-2012.1.15.tgz  返回 ntfs-3g_ntfsprogs-2012.1.15.tgz

dirname /home/xiazdong/Software/ntfs-3g_ntfsprogs-2012.1.15.tgz  返回 /home/xiazdong/Software

四、rmdir

rmdir(Rmove Directory)删除空目录;

(1)rmdir dir:删除空目录dir

(2)rmdir -p dir/dir/dir:删除空目录dir/dir/dir,如果dir/dir为空,则也删除,如果dir为空,则再删除,直到父目录非空为止;

五、ls

ls(list)用于列出目录中的文件和目录;

通常白色为文件,蓝色为目录;

(1)-a:列出全部文件(包括隐藏文件);

(2)-l:列出文件的属性;

(3)-d:只列出目录本身;

(4)-R:列出目录及子目录及子目录....;

(5)--color=never:不给文件和目录加以颜色;

(6)--full-time:列出文件的完整时间;

(7)-h:文件大小用合适的单位标出,比如50M,2G;

实例:

(1)ls -al:列出当前目录的全部文件及全部属性;

(2)ls /etc:列出/etc的文件和目录;

(3)ls -l /etc/inittab:仅列出inittab文件的属性;

(4)ls --full-time:显示完整日期;

(5)ls --time=atime /etc:显示访问时间;

六、cp

(1)-a:等于-pdr,将某个目录或文件完全一样的复制(包括权限、创建时间等等),备份时常用!

(2)-p:复制时将文件属性一并复制;

(3)-d:如果是链接文件,则仍然复制链接文件,而不是源文件,因为默认是复制源文件;

(4)-r:复制目录;

(5)-i:复制时如果存在需要覆盖,则提醒;

(6)-s:建立软链接;

(7)-l:建立硬链接;

(8)-u:备份时使用,当目的文件较新才复制;

(9)cp file1 file2 file3  dir :将file1、file2、file3复制到dir目录中;

如果要维持某个文件的权限,则使用-a;但是:如果一般用户复制root的文件,则仍不能完全复制;

如果要根据复制的用户的权限,则不用参数;

七、rm

(1)-i:删除时提示;

(2)-r:递归删除目录;

(3)-f:强制删除不提示;

实例:

(1)rm -r /home/xiazdong/Software:删除目录;

(2)rm ./-aaa-:   删除“-”开头的文件时要注意;

(3)rm -rf */*/*:  危险操作,文件系统全删光;

注意:

(1)通过\rm -r /dir 可以强制删除目录,而删除时不会出现提示;

(2)rm ./-aaa- 可以删除“-”开头的文件;

八、mv

(1)-i:提示是否移动;

(2)-u:source比已存在的文件新,才移动,在备份时会用到;

(3)重命名:mv dir1 dir2  ,将dir1重命名为dir2;

(4)将多个文件移到目录中:mv f1 f2 f3 dir ,将f1、f2、f3移到dir目录中;

九、touch

如果文件不存在,则创建文件,并将ctime、atime、mtime设置为当前时间,如果文件存在,则默认将atime、mtime、ctime设置为当前时间;

第二部分:读取文件

注:推荐文本文件都是用less;如果要带行号,则用nl;当文件很大很大,但是我们只看最后几行或前几行,则用head或tail;二进制用od;

1.cat:读取文本文件,适用于短文件;

2.tac:反向输出,即原本的第一行变成最后一行;

3. nl:带行号输出;

4.more:只向前,不能后退;

5.less:比较完美的文本查看方式,man page就是通过这个显示的;

6.od:查看二进制文件;

7.head:显示文件头几行; head -n 50 file(显示头50行);

8.tail:显示文件末尾几行;tail -n 50 file(显示末尾50行);

第三部分:查询文件

1.whereis

在/var/lib/mlocate/mlocate.db数据库中查找文件,速度很快;

但是此数据库默认每天更新一次,因此刚刚创建的文件并不能通过此数据库查到;

手动更新命令:updatedb;

实例:

(1)whereis 文件名:查找该文件名;

(2)where -b 文件名:查找二进制文件的文件名;

如果要查找/etc/inittab,则一定要whereis inittab;

2.locate

利用数据库查询;

(1)locate -i 文件名:忽略大小写,查找的文件名只要在完整路径中出现,即可查找到;

(2)locate 文件名:查找的文件名只要在完整路径中出现,即可查找到;

比如locate initta,则也可以查到/etc/inittab;

3.find

直接磁盘查询;

(1)-name x:根据文件名找;

(2)-type x:根据文件类型找,文件类型可以是:f(一般文件),d(目录),l(链接文件),s(socket文件),p(pipe文件);

(3)-size x:根据文件大小找;

(4)-exec:执行完find后如果想对结果再处理,则可以使用此参数,如果使用此参数,则一定要与 “\;” 结尾; {} 表示find找到的结果;

实例:

(1)find /home/xiazdong -name 'filename':从 /home/xiazdong 开始找文件名为filename的文件;

(2)find  /home/xiazdong  -size +50k:从/home/xiazdong中查找容量大于50K的文件;

(3)find /home/xiazdong -size -50k从/home/xiazdong中查找容量小于50K的文件;

(4)find /home/xiazdong -type s:从/home/xiazdong 开始找文件类型为socket的文件;

(5)find /home/xiazdong -name 'abc' -exec  ls -l {} \;   :从/home/xiazdong中查找 文件名为abc的文件,并通过ls将结果列出,{}表示find的结果,-exec .... \; 为追加命令;

(6)find / -type p -exec ls -l {} \; :从根目录开始寻找pipe类型文件,并详细打印;

Tips:date和cal命令

一、date

用于输出当前日期,并且可以定义输出的样式,类似于Java中的SimpleDateFormat;

参数:

(1)%x:输出当前日期;

(2)%X:输出当前时间;

(3)%Y:年;

(4)%m:月;

(5)%d:日;

(6)%H:时;

(7)%M:分;

(8)%S:秒;

(9)%t:tab;

注意:必须要在参数前面加“+”;

比如:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

二、cal

输出日历;

cal [month] [year];

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值