Linux学习笔记

新的一年,辞旧迎新,新梦想,新方向。。。。

笔记是根据《鸟叔的Linux私房菜》所作。

文件与目录篇

一、文件与目录管理命令

1、ls(list)--查看文件与目录命令

        命令格式:ls [选项] [目录名]

        常用参数:

   -l:列出长字符串,包含文件的属性与权限等数据。
   -a:列出所有文件,包含隐藏文件
   -d:仅列出所指定目录本身,而不列出目录内的文件数据
   -R:连同子目录内容一起列出来,等于该目录下所有文件都会显示出来
   -h:将文件容量以人类易读的方式(GB,KB)列出来
一般使用ll来替代ls -l:
ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls -l只列出显式文件,这两个命令还是存在一定区别的

意义:

    第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):  
    rwx(Owner)r-x(Group)r-x(Other)  
    这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。 
    第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。  
    第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。  
    第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。  
    第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。  
    第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。  
    第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。

2、cp(copy)--文件或者目录复制命令

    命令格式:cp [options] source1 source2 source3...directory——多个文件拷贝到一个目录
    或者:cp [options] <source file or directory> <target file or directory>——单个文件或目录的拷贝
常用参数:

  -i(interactive):若目标文件已经存在,则会在覆盖时询问
  -r(recursive):复制目录及目录下所有文件
  -l(link):进行硬链接的连接文件创建,而非复制文件本身
  -s(symbolic link):复制为符号链接文件,即快捷方式文件
  -p(preserve):连同文件属性一块复制过去,而非使用默认属性

3、rm(remove)——移除文件或者目录

    命令格式:rm [-fir]文件或者目录

   该命令也可以用于对文件或者目录重命名。如下面将目录mvtest重命名为mvtest1,当然也可以使用rename命令
常用参数:
-f(force):忽略不存在的文件,不会出现警告信息。
  -i(interactive):互动模式,在删除前会询问用户是否操作
   -r(recursive):递归删除目录及目录下所有文件。

4、mv(move)——移动文件与目录、或者更名

        命令格式:mv [options] source1 source2 source3...director
    命令参数:

   -f(force):强制的意思,如果目标文件已经存在不会询问直接覆盖
   -i(interactive):互动模式,在目标文件已经存在时,询问是否覆盖
   -u(update):若目标文件已经存在,且source比较新,才会更新

二、文件内容及属性查阅

1、cat(concatenate)——文件内容查看命令

	命令格式:cat [options] [file]...
		命令参数:

   -b(number-nonblank):列出行号,仅对非空白行做出行号显示

   -n(number):列出行号,对空白行也作出行号显示

   -E(show-ends):显示文本行结束符号'$',不同于windows的'^M$'

   -T(show-tabs):将[Tab]键以^I显示出来

   -v(show-nonprinting):列出一些看不出来的特殊符号

2、more——一页一页翻动

	命令格式:more[options]file 或 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

3、head——数据选取命令:默认前十行。

	命令格式:head [-n number] file

4、tail——取出后面几行

	命令格式:tail [-n -number] file
		命令参数:

   -f(follow):即时输出追加到文件末尾的新内容,该参数可以用来监控日志文件等

5、touch——修改文件时间或者创建新文件

6、cut——分割文件中的字符串

	命令格式:cut [options] [file]
		命令参数:

   -b(bytes):只选中指定的这些字节。

   -c(characters):只选择指定的这些字符。

   -d(delimiter):使用指定分界符代替制表符作为区域分界。

   -f(fields):只选中指定的这些域,并打印所有不包含分界符的行。

  -c的用法和-b差不多,只不过是截取的字符,而不是字节。汉字也被认为是一个字符。

   -d后面根的冒号是分割文件行的的分割符:-f用来设置提取第几个域。-d一般情况下根-f一起使用,而不能和-b,-c一起使用

7、sort——排序命令

	命令格式:sort [options] [file]
		命令参数:

   -n(number):按数值大小排序

   -r(reverse):降序排序

   -t(field separator):指定字符分隔符

   -k(key):指定字段

   -f:ignore-case--不区分大小写

   -u(unique):相同内容只显示一次。这里的相同是指相邻并且内容相同。

8、uniq——报告相同的行,也可以去除相同的行

	命令参数:

   -d(repeated):打印出重复的行

   -c(count):显示行重复的次数

9.wc(word count)——文本统计

	命令参数:

   -l(line):只显示行数

   -w(word):只显示单词数

   -c(bytes):只显示字节数

   -m(chars):只显示字符数

   -L(max-line-length):最长一行包含的字节数

10.tr(translate or remove)——转换或删除字符

	命令格式:tr [OPTION]... SET1 [SET2]
		命令参数:

   -d:delete--删除指定字符

**另外还有其他命令 如 :awk sed grep **

posted @ 2018-02-06 10:42  chenxy0761  阅读(157)  评论(0编辑  收藏  举报