在介绍Linux基础命令之前,我们先来了解两个概念:
1、绝对路径: 路径的写法一定由根目录/开始写起。例如:/usr/share/doc 这个目录
2、相对路径: 路径的写法不是由根目录/写起。例如:由/usr/share/doc目录到/usr/share/man这个目录时 ,可以写成:“cd ../man”,这就是相对路径的写法。相对路径意指相对于目前工作目录的路径。
参数:
-a:全部文件,连同隐藏文件(开头为 . 的文件一起列出来)(常用)
-A:全部文件,连同隐藏文件(但不包括 . 和 .. 这两个目录)
-d:仅列出目录本身,而不是列出目录内的文件数据(常用)
-f:直接列出结果,而不进行排序(ls默认按文件名排序)
-F:根据文件,目录等信息给予附加数据
例如:
*:代表可执行文件
/:代表目录
=:代表socket文件
|:代表FIFO文件
-h:将文件大小按人类易懂的方式列出来(GB,KB等)
-i:列出inode号码
-l:列出长数据串,包括文件的属性与权限等数据(常用)
-n:列出非用户与用户组的名称(UID与GID)
-r:将排序结果反向
-R:显示该目录下的所有文件,连同子目录下的都显示出来
-S:以文件容量大小排序
-t:按时间排序
–color=never:不要依据文件特性给予颜色显示
–color=always:显示颜色
–color=auto:让系统自行依据设置判断是否给予颜色
–full-time:以完整时间模式(包含年,月,日,时,分)输出
–time=(atime,ctime):输出访问时间或改变权限属性时间(而非内容更改时间)
在了解目录的基本操作命令时,先要知道几个特殊的目录:
. —————-> 代表这一层目录
.. —————-> 代表上一层目录
- —————–> 代表前一个工作目录
~ —————-> 代表目前用户身份所在的主文件夹
~account ——>代表account这个用户的主文件夹(account 是账号名称)
需要 注意 的是所在目录下都会存在两个目录一个是” . ” 一个是“ ..”分别代表此层与上层目录。那么现在思考一下下面这个问题:
答:若使用ls -al去查询,可以看到根目录下确实有“.” 和 “..” 两个目录的存在,仔细查阅会发现这两个目录的权限和属性完全一样,这代表根目录的上一层(..)和这一层(.)是同一个目录
下面我们再来看看几个常见的处理目录的命令:
mkdir -p :可以直接将你所需的所有目录直接创建出来
mkdir -m:配置文件案的权限,直接设置,不需要查看默认权限(umask)
rmdir -p:递归删除,可以同时把上依次空目录也删除
rm -r:删除一个目录里的所有文件(会提示是否要删除)
rm -rf :删除一个目录里的所有文件(不会提示是否要删除)
注意:rmdir只能删除空目录
如果文件不存在,则创建新文件,如果文件存在,则刷新文件创建时间。
touch -d :”时间” 文件名 (按指定时间刷新文件时间)
touch -r :文件1 文件2 (用文件1的时间刷新文件2的时间)
touch -a:仅修改访问时间
touch -c:仅修改文件时间,若该文件不存在,则不创建新文件
touch -m:仅修改mtime
touch -t :后面可以接欲修改的时间,而不用现在的时间
mv test1 test2 (把test1移入test2)
参数:
-f : 就是force的意思,忽略不存在的文件,不会出现警告信息
-i :互动模式,删除前会询问是否操作
-r :递归删除,用于删除目录(很危险的参数)
cp :拷贝文件,无法操作目录
常用参数:
-r:递归拷贝,用于目录的复制
-a :相当于 -pdr
-i:若目标文件以存在,覆盖时会提醒是否要覆盖
(1)、cat (从第一行开始打印文件内容)
-n :打印行号,空白行也会有行号
-b:打印行号,空白行没有行号
(2)、tac (从最后一行开始打印文件内容)
(3)、nl (显示的时候,顺便输出行号)
(4)、more(一页一页的显示文件内容)
空格:向下翻页
b:向上翻页,到最下边自动退出
q:立即离开more,不再显示文件内容
(5)、less (与more相似,但比more高级,它可以往前翻页,可以检索字符串)
空格:向下翻一页
/字符串:向下查询字符串
?字符串: 向上查询字符串
q:退出lsee
(6)、head (看头几行)
head默认去前十行
head -1 就取前一行
head -2 就取前两行…
按Ctrl+c退出head
(7)、tail (看尾几行)
tail -f (如果文件内容在不停的变,可以一直打印文件最后一行内容,Ctrl + c结束)
其他与head一样
(8)、od (以二进制的形式读取文件内容)
按规定的格式显示时间
date + “%Y-%m-%d”(年月日)
date + “%F” (年月日)
date + “%T” (时分秒)
date + “%H:%M:%S”(时分秒)
date -s “2014-02-29 16:21:42” (把系统时间修改为2014-02-29 16:21:42)
(1)、cal : 显示当前月的日历
(2)、cal -3 :显示三个月的日历(上个月,这个月,下个月)
(3)、cal -y :显示一年的日历
(4)、cal -j:按月的方式显示现在是一年的第几天
zip test.zip test (test为要压缩的文件,test.zip 为压缩后的文件,压缩文件可以一次有多个)
最后,这篇博客部分内容来自鸟哥的Linux私房菜 基础学习篇,还有一部分是自己总结的,新手操作,如果有写的不对的地方,请大家指出来。