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;
我们首先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;
注意:必须要在参数前面加“+”;
比如:
二、cal
输出日历;
cal [month] [year];
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- linux下为目录和文件设置权限
摘:linux下为目录和文件设置权限 分类: Linux2012-05-09 03:18 7456人阅读 评论(1) 收藏 举报 linuxwordpressweb数据库serverfile linu ...
- Linux中/proc目录下文件详解(转贴)
转载:http://www.sudu.cn/info/index.php?op=article&id=302529 Linux中/proc目录下文件详解(一) 声明:可以自由转载本文, ...
- Linux学习笔记 -- 目录与文件的管理
目录结构 Linux的目录结构为树状结构,最顶级的目录为根目录 “/”. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是. 绝对路径与相对路径 绝 ...
- Linux目录和文件——查询目录和文件的命令
Linux目录和文件——查询目录和文件的命令 摘要:本文主要学习了在Linux系统中是如何查询目录和文件的. which命令 which命令是根据PATH环境变量设置的路径,去搜索执行文件. 基本语法 ...
- Linux目录和文件——管理目录和文件的命令
Linux目录和文件——管理目录和文件的命令 摘要:本文主要学习了Linux系统中关于目录和文件的操作. cd命令 cd命令用来切换工作目录,是Change Directory的缩写. 基本语法 cd ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- C#操作目录和文件
C#操作目录和文件 创建目录和文件 1.通过Path类的Combine方法可以合并路径. string activeDir = @"C:\myDir"; string newPa ...
- 你一定要知道的关于Linux文件目录操作的12个常用命令
写在前面: 1,<你一定要知道的关于Linux文件目录操作的12个常用命令>是楼主收集的关于Linux文件目录操作最常用的命令,包括文件或目录的新建.拷贝.移动.删除.查看等,是开发人员操 ...
随机推荐
- html中的事件属性
Window 事件属性 针对 window 对象触发的事件(应用到 <body> 标签): 属性 值 描述 onafterprint script 文档打印之后运行的脚本. onbefor ...
- 解决SpringMVC put,patch,delete请求数据拿不到的问题
解决SpringMVC put,patch,delete请求参数拿不到的问题 废话不多说,核心代码如下: 在web.xml中添加如下代码 <!-- 解决web端不能put,delete等请求的问 ...
- z-index详细攻略
概念 z-index 属性设置元素的堆叠顺序.拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面. 层级关系的比较 1. 对于同级元素,默认(或position:static)情况下文档流后面的 ...
- 笔记(二)TabLayout + ViewPager + FragmentPagerAdapter 组合用法
TabLayout的xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- 重构改善既有代码设计--重构手法18:Self Encapsulate Field (自封装字段)
你直接访问一个值域(field),但与值域之间的耦合关系逐渐变得笨拙. 为这个值域建立取值/设值函数(getting/setting methods),并且只以这些函数来访问值域. private i ...
- 20155117 王震宇 2006-2007-2 《Java程序设计》第四周学习总结
教材学习内容总结 继承(inheritance) 继承是面向对象软件技术当中的一个概念.继承可以使得子类别具有父类别的各种属性和方法,避免了重复的行为定义.在子类别继承父类别的同时,可以重新定义某些属 ...
- ASP.Net Cache(缓存)—ASP.NET细枝末节(2)
概述 1.意义 把数据放到Cache中,在指定的时间内,可以直接从Cache中获取,避免对数据库等的压力. 2.做法 设置: HttpRuntime.Cache.Insert(CacheKey, ob ...
- 浮动&定位
本文地址:http://www.cnblogs.com/veinyin/p/7606652.html 浮动和定位能够让我们把一些元素放到理想的位置,当然,相比之下 float 只能浮动到左边或右边, ...
- flex图片布局
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>f ...
- inviteflood 洪泛滥工具
inviteflood是一种通过UDP/IP执行SIP/SDP INVITE消息泛洪的工具,描述可以参考:inviteflood Package Description 使用inviteflood工具 ...