Linux命令学习

1、ls

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

  • 命令功能:列出目标目录中所有的子目录和文件

  • ls -a 或 ls -al :列出目录下的所有文件,包括以 . 开头的隐含文件

  • ls -l :除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来,不包括以 开头的隐含文件

  • ls -i :打印出每个文件的inode号

2、cd

  •  命令格式:cd [目录名]

  • 命令功能:切换当前目录至dirName

  • cd / :进入系统根目录

  • cd ~ :进入当前用户的家目录

  • cd ../ :进入上一层目录

  • cd /opt/soft:跳转到指定目录,从根目录开始,目录名称前加 / ,当前目录内的子目录直接写名称即可

  • cd - :返回进入此目录之前所在的目录

3、pwd

  • 命令格式:pwd [选项]

  • 命令功能:查看“当前工作目录”的完整路径

  • pwd:查看当前工作目录的完整路径

  • pwd -P:目录连接链接时,pwd -P 显示出实际路径,而非使用链接(link)路径;pwd显示的是连接路径:(1)cd /etc/init.d (2)pwd 显示:/etc/init.d(3)pwd -P 显示:/etc/rc.d/init.d

4、mkdir

  • 命令格式:mkdir [选项] 目录...

  • 命令功能:通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录。要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限,并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写)。 

  • cd test:进入到test目录中 mkdir testdir:在test目录中创建一个新的空目录

  • mkdir -p test2/test23/test233:递归创建多个目录

  • mkdir -m 777 test3:创建权限为777的目录:test3 的权限为 rwx rwx rwx:111 111 111

  • mkdir -v test4、mkdir -vp test5/test5-1:创建新目录时显示详细的信息

5、rm

  • Linux 中删除文件和目录的命令: rm命令。rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

  • 命令格式:rm [选项] 文件… 

  • 命令功能:删除一个目录中的一个或多个文件或目录,如果没有使用 - r 选项,则 rm 不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。

  • 命令参数:

        -f, --force    忽略不存在的文件,从不给出提示。

        -i, --interactive 进行交互式删除

        -r-R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。

        -v, --verbose    详细显示进行的步骤 --help     显示此帮助信息并退出 --version  输出版本信息并退出

  • rm log.log:直接删除文件 log.log。

  • rm -v log1.log:直接删除文件 log1.log ,同时,系统会给出刚才你删除的文件列表。

  • rm -f log1.log:强行直接删除文件 log1.log ,系统不再提示。

  • rm -i *.log:删除任何 .log 后缀的文件,删除前系统会逐一询问确认,输入y则删除,输入n则不会删除。

  • rm -r test1:将 test1文件夹及子文件夹中的所有文件一起删除,且不一一确认。

  • rm -rf test2:强制将 test2文件夹及子文件夹中的所有文件一起删除,且不一一确认。

  • rm -ir test1:将 test1文件夹及子文件夹中的所有文件一起删除,且一一确认每个文件夹中的每个文件。

6、rmdir

  • rmdir 是常用的命令,该命令的功能是删除空目录:一个目录被删除之前必须是空的。(注意,rm - r dir 命令可代替 rmdir,但是有很大危险性)删除某目录时也必须具有对父目录的写权限

  • 命令格式:rmdir [选项]... 目录...

  • 命令功能:该命令从一个目录中删除一个或多个子目录项,删除某目录时也必须具有对父目录的写权限。 

  • 命令参数:

    -v :--verbose  显示指令执行过程。

  • rmdir doc :因为 doc 不是空目录,所以删不了。不能删除非空目录。

  • rmdir doc/info rmdir doc/product rmdir doc  :然后就可以删除成功了

7、mv

  • 命令格式:mv  [选项]  源文件或目录  目标文件或目录

  • 命令功能:视 mv 命令中第二个参数类型的不同(是目标文件还是目标目录),mv 命令将文件重命名或将其移至一个新的目录中。

  • 当第二个参数类型是文件时,mv 命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。

  • 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至目标目录中。

  • mv  test.log  test1.txt:将文件test.log重命名为test1.txt

  • mv  test1.txt  test3:将test1.txt文件移动到目录test3中

  • mv log1.txt  log2.txt  log3.txt  test3:将log1.txt ,log2.txt, log3.txt 三个文件移到 test3目录中去

  • mv  -i  log1.txt  log2.txt:将文件 log1.txt改名为 log2.txt,如果 log2.txt已经存在,则询问是否覆盖

  • mv  -f  log3.txt  log2.txt:log3.txt的内容直接覆盖了log2.txt内容,-f 这是个危险的选项,使用的时候一定要保持头脑清晰,一般情况下最好不用加上它

  • mv dir1 dir2:如果目录dir2不存在,将目录dir1改名为dir2;否则,将dir1移动到dir2中

  • mv * ../ :移动当前文件夹下的所有文件到上一级目录

  • mv shopdiy/ .. :移动当前文件夹下的shopdiy文件到上一级目录

8、cp

  • 命令格式:cp [选项]... [-T] 源 目标文件       或:cp [选项]... 源 目标文件       或:cp [选项]... -t 目录 源

  • 命令功能:将源文件复制至目标文件,或将多个源文件复制至目标目录

  • cp test.txt copy.txt:复制单个源文件test.txt到当前文件夹中,目标文件copy.txt。没复制之前,若copy.txt不存在,则会直接复制;没复制之前,若copy.txt存在了,则会直接覆盖。

  • cp text1.txt text2.txt testDir:复制源文件text1.txt和text2.txt到文件夹testDir中。没复制之前,若文件夹testDir中不存在这两个文件,则直接复制;若是存在了,则直接覆盖。

  • cp -r dir dir2:复制dir文件夹到文件夹dir中。没复制之前,若文件夹dir中不存在这个文件夹,则直接复制;若是存在了,则直接覆盖。

  • 参考链接:http://baijiahao.baidu.com/s?id=1584730406677513659&wfr=spider&for=pc

9、touch

  • 命令格式:touch [选项]... 文件..

  • 命令功能:touch的命令参数可更改文档或目录的日期时间,包括存取时间和更改时间

  • touch  log2012.log  log2013.log:创建2个原本不存在的文件(touch test.java)

10、cat

  • cat 命令的用途是连接文件或标准输入并打印。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。 

  • 命令格式:cat [选项] [文件]...

  • 命令功能:

    1.一次显示整个文件: cat filename

    2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件

    3.将几个文件合并为一个文件: cat file1 file2 > file

  • cat -n log2012.log log2013.log :把 log2012.log 的文件内容加上行号后输入到 log2013.log 这个文件里

  • cat -b log2012.log log2013.log log.log:把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

  • cat -n log2012.log > log.log:把 log2012.log 的文件内容加上行号后输入 log.log 这个文件里 

  • tac (反向列示):tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上,而 tac 则是由最后一行到第一行反向在萤幕上显示出来!

 

11、nl

  • 命令格式:nl [选项]... [文件]...

  • 命令功能:nl 命令读取 File 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。 在输出中,nl 命令根据您在命令行中指定的标志来计算左边的行。 输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。 除非使用 -p 标志,nl 命令在每个逻辑页开始的地方重新设置行号。 可以单独为头、主体和页脚节设置行计算标志(例如,头和页脚行可以被计算然而文本行不能)。

  • nl log2012.log:用 nl 列出 log2012.log 的内容,给每一行都加上行号,但是文件中的空白行不会加上行号。

12、more

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

  • 命令功能:more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

  • more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

  •  more +/day3 log2012.log:从文件中查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出 

  • more +3 log2012.log :显示文件中从第3行起的内容。

13、less

  • 命令格式:less [参数]  文件 

  • 命令功能:less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

  • less log2013.log:查看文件log2013.log,通过空格键来逐一向后翻页查看。

  • ps -ef | less:ps查看进程信息并通过less分页显示,通过空格键来逐一向后翻页查看。

  • history | less:查看命令历史使用记录并通过less分页显示,通过空格键来逐一向后翻页查看。

14、which

15、Linux目录结构https://www.cnblogs.com/peida/archive/2012/11/21/2780075.html

  • /etc:配置文件

  • /bin:重要执行档

  • /dev:所需要的装置文件

  • /lib:执行档所需的函式库与核心所需的模块

  • /sbin:重要的系统执行文件

  • 绝对路径:由根目录( / )开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc;

  • 相对路径:相对于目前路径的文件名写法。 例如 ./home/dmtsai 或 http://www.cnblogs.com/home/dmtsai/ 等等。反正开头不是 / 就属于相对路径的写法。

    而你必须要了解,相对路径是以你当前所在路径的相对位置来表示的。举例来说,你目前在 /home 这个目录下, 如果想要进入 /var/log 这个目录时,可以怎么写呢?

    cd /var/log   (absolute)

    cd ../var/log (relative)

16、Linux文件类型和扩展名:

17、Linux文件属性

  • Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容。

18、chmod:权限控制(r-4,w-2,x-1,777,751)

  • chmod命令用于改变linux系统文件或目录的访问权限。Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

  • 文件或目录的访问权限分为【只读r、只写w、可执行x 】三种。

  • 有三种不同类型的用户可对文件或目录进行访问:【文件所有者、同组用户、其他用户】。所有者一般是文件的创建者。

  • 每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。

  • ls -al:

    -rw-r--r-- 1 root root 302108 11-13 06:03 log2012.log

    第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r 代表只读,w 代表写,x 代表可执行。

  • 权限范围::目录或者文件的当前的用户 :目录或者文件的当前的群组 :除了目录或者文件的当前用户或群组之外的用户或者群组 :所有的用户及群组

  • 权限代号::读权限,用数字 4 表示 :写权限,用数字 2 表示 x :执行权限,用数字 1 表示 :删除权限,用数字 0 表示 s :特殊权限 

  • 数字设定法:chmod [mode] 文件名

    数字与字符对应关系如下:r=4,w=2,x=1 。若要 rwx 属性则4+2+1=7。若要 rw- 属性,则4+2=6。若要 r-x 属性则4+1=5。 

  • 文字设定法:chmod [who][+ | - | =] [mode] 文件名

  • chmod 751 file  和 chmod u=rwx,g=rx,o=x file :给file的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限

  • chmod -R u+x test4 :对一个目录及其子目录所有文件添加权限 

19、tar

  • 这源于Linux中很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你得先将这一大堆文件先打成一个包(tar命令),然后再用压缩程序进行压缩(gzip bzip2命令)。

  • 命令格式:tar [必要参数] [选择参数] [文件] 

  • 命令功能:用来压缩和解压文件。tar本身不具有压缩功能。他是调用压缩功能实现的 。

  • 命令参数:

    必要参数有如下:

    -A 新增压缩文件到已存在的压缩 -B 设置区块大小 -c 建立新的压缩文件 -d 记录文件的差别 -r 添加文件到已经压缩的文件 -u 添加改变了和现有的文件到已经存在的压缩文件

    -x 从压缩的文件中提取文件 -t 显示压缩文件的内容 -z 支持gzip解压文件 -j 支持bzip2解压文件 -Z 支持compress解压文件 -v 显示操作过程 -l 文件系统边界设置 -k 保留原有文件不覆盖

    -m 保留文件不被覆盖 -W 确认压缩文件的正确性

    可选参数如下:-b 设置区块数目 -C 切换到指定目录 -f 指定压缩文件 --help 显示帮助信息 --version 显示版本信息

  • 常见解压/压缩命令

    tar

  •  解包:tar xvf FileName.tar

  • 打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!)

  • tar -cvf log.tar log2012.log :把文件2012.log打包成log.tar。

    tar -tvf log.tar:查阅上述log.tar包内有哪些文件。

    tar -xvf log.tar:把log.tar包中的文件解包出来。

  • tar -zcvf log.tar.gz log2012.log:把文件2012.log打包成log.tar.gz,打包后以gzip进行压缩(包的大小明显减小了很多)。

    tar -ztvf log.tar.gz:查阅上述 tar包内有哪些文件。

    tar -zxvf log.tar.gz:把log.tar包中的文件解包出来。

  • gzip压缩 test.log 文件:执行 gzip test.log,被压缩成 test.log.gz,且原来的test.log会消失。

  • gzip接压缩 test.log.gz 文件:执行 gzip -d test.log.gz,被解压成 test.log,且原来的test.log.gz会消失。

  • gzip -dc app.log.gz |grep "此次共实际刷数据" | more:不解压直接查看压缩包中的“关键词”信息。

20、grep

  • Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

  • grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

  • 命令格式:grep [option] pattern file

  • 命令功能:用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用。

  • ps -ef|grep svn:查找指定进程

  • ps -ef|grep svn -c:查找指定进程的个数

  • cat test.txt | grep -f test2.txt:输出 test.txt 文件中含有从 test2.txt 文件中读取出的关键词的内容行。

  • cat test.txt | grep -nf test2.txt:输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行,并显示每一行的行号。

  • grep -n 'linux' test.txt  或者 grep 'linux' test.txt  :从test.txt文件中查找关键词”linux“所在的行内容

  • grep -n 'linux' test.txt test2.txt :从多个文件中查找关键词

  • cat test.txt | grep ^u :找出以 u 开头的行内容

  • cat test.txt | grep ^[^u] :找出非以 u 开头的行内容

  • cat test.txt | grep hat$ :输出以 hat 结尾的行内容

  • cat test.txt | grep -E "ed|at":显示包含 ed 或者 at 字符的内容行

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值