开始接触Linux命令行,学习Linux文件系统导航以及创建、删除、处理文件所需的命令。

 注:文末有福利!

几个快捷键:

  • Linux发行版通常使用Ctrl+Alt组合键配合F1~F7进入要使用的控制台,同样按键可返回图形界面,Ubuntu使用F7,RHEL则使用F1。
  • 在Ubuntu的Unity中,可以使用Ctrl+Alt+T快速访问GNOME终端。
  • Shift+Ctrl+N 在新的终端窗口中启动一个新的shell会话。
  • Shift+Ctrl+T 在现有的终端窗口中的新标签中启动一个新的shell会话。
  • Shift+Ctrl+W 关闭当前标签中的会话
  • Shift+Ctrl+Q 关闭当前的终端会话
 

基本的bash shell命令:

  • man:查看命令手册,如:man man 
    手册页是由分页程序来显示的,空格键翻页、回车键逐行查看、箭头键前后滚动,q键退出。
  • pwd:显示出shell会话的当前目录
  • cd:可以直接切换到绝对文件路径下的目录,也可以切换到相对文件路径下的目录,例如当前位于home目录下,想要切换到Documents子目录时,可以直接使用 cd Docuemnts 命令。 也可以使用双点符切换到上级目录,如:cd ../Downloads
  • ls:显示当前目录下的文件和目录 
    它有几个参数: 
    ls -F:区分开文件和目录 
    ls -a:将隐藏文件和普通文件和目录一起显示出来(ls默认不显示隐藏文件)
    ls -l:以长列表格式输出每个文件的详细信息 
    ls -R:递归选项,列出当前目录下包含的子目录中的文件 
    可以有多个参数或合并来写:

    1. ls -F -R
    2. ls -FR
  • ls命令还支持在命令行中定义过滤器。这个过滤器就是一个进行简单文本匹配的字符串。可以把特定文件的名称作为过滤器,则ls命令只会显示该文件的信息。如:

    1. ls -l my_script
  • ls命令也能识别标准通配符,并在过滤器中用它们进行模式匹配: 
    1.问号(?):代表一个字符 
    2.星号(*):代表零个或多个字符 
    3.中括号[ ]:一个字符的位置有多个可能的选择,也可以指定字符范围 
    4.感叹号(!):将不需要的内容排除在外 
    例:

    1. ls -l my_scr?pt
    2. ls -l my_s*t
    3. ls -l my_scr[ai]pt
    4. ls -l my_scr[a-i]pt
    5. ls -l my_scr[!a]pt

    文件扩展匹配还可用于ls以外的其他shell命令。

shell提供了很多在Linux文件系统上操作文件的命令,这一篇学习一下有关文件与目录的一些基本的shell命令。

 

1.处理文件

  • touch:创建空文件

    1. $ touch test_one
    2. $ ls -l test_one
  • cp:复制文件 
    在最基本的用法里,cp命令需要两个参数---源对象和目标对象:

    1. cp source destination

    当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。

    1. $ cp test_one test_two
    2. $ ls -l test_*

如果目标文件已经存在,cp命令并不会提醒这一点,所以最好加上-i选项,强制shell询问是否覆盖已有文件。

  1. $ cp -i test_one test_two
  • cp命令也可以将文件复制进现有目录,复制的文件和源文件同名

    1. $ cp -i test_one /home/christine/Documents/

    也可以使用相对路径:

    1. $ cp -i test_one Documents/
  • cp命令有个-R参数,可以用它在一条命令中递归地复制整个目录的内容。

    1. $ cp -R Scripts/ Mod_Scripts
    2. $ ls -Fd *Scripts (d参数是只列出目录本身信息,不列出其中内容)

    在执行cp -R命令之前,目录Mod_Scripts并不存在,他是随着cp -R命令被创建的,整个Scripts目录中的内容都被复制到其中。

  • mv:重命名文件 
    mv命令可以将文件或目录移动到另一个位置或者重新命名。

    1. $ mv fall fzll
    2. $ mv fzll Pictures/

    也可以使用mv命令移动文件位置并修改文件名称:

    1. $ mv/home/christine/Picture/fzll /home/christine/fall
  • rm:删除文件 
    基本格式:

    1. $ rm -i fall

    如果要删除的文件很多且不受提示符的打扰,可以使用-f参数强制删除。

 

2.处理目录

  • mkdir New_Dir:创建目录
  • 要想要同时创建多个目录和子目录。需要加入-P参数:

    1. $ mkdir -p New_Dir/Sub_Dir/Under_Dir
    2. $ ls -R New_Dir
  • rmdir:删除目录 
    默认情况下,rmdir命令只会删除空目录,如果目录中有文件的话,要先删除掉文件。 
    使用-r选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。

    1. $ rm -ri New_Dir
  • rm -rf 命令:直接强制删除目录及其所有内容,并且没有提示。
 

3.查看文件

  • file New_Dir:查看文件类型
  • cat test_one:查看文件内容 
    cat命令的几个参数: 
    -n:给所有的行加上行号 
    -b:只给文本行加行号(即忽略空行的行号) 
    -T:不让制表符出现

  • more命令:more命令是分页工具,可通过空格或回车浏览文本,q键退出。

  • less命令:一次显示一屏的文本文件,能识别上下键以及上下键翻页。
  • tail命令:显示文件最后几行的内容,默认显示文件末尾10行。 
    tail命令加入-n参数可以修改所显示的行数:

    1. $ tail -n 2 test_one

    -f参数允许在其他进程使用该文件时查看文件的内容。并且tail命令会保持活动状态,不断显示添加到文件中的内容,可以用来实时监测系统日志。

  • head命令:显示文件开头几行的内容。同样有-n参数,但没有-f参数。

推荐一个良心公众号【IT资源社】:

本公众号致力于免费分享全网最优秀的视频资源,学习资料,面试经验等,前端,PHP,JAVA,算法,Python,大数据等等,你想要的这都有

IT资源社-QQ交流群:625494093

也可添加微信拉你进微信群: super1319164238

微信搜索公众号:ITziyuanshe 或者扫描下方二维码直接关注,

Linux之Shell命令的更多相关文章

  1. Python下调用Linux的Shell命令

    有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 ...

  2. loadrunner调用plink,远程linux执行shell命令

    loadrunner调用plink,远程linux执行shell命令   脚本: Action() {   char* cmd; cmd = lr_eval_string("C:\\\&qu ...

  3. Linux主要shell命令详解(上)

    [摘自网络] kill -9 -1即实现用kill命令退出系统 Linux主要shell命令详解 [上篇] shell是用户和Linux操作系统之间的接口.Linux中有多种shell,其中缺省使用的 ...

  4. Linux 下 Shell 命令的分类及用法

    当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点.为了成为一个 Linux 高手,你必须能够理解 Shell命令的不同类型,并且会在终端下正确的使用它们. 在 Linu ...

  5. Linux中shell命令的用法和技巧

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  6. 部分linux系统命令(shell 命令)和hadoop命令

    linux系统命令(shell 命令): ls :  只列出文件/目录 ls -l :  会显示文件的详情,如大小等 ls -lh :  会显示文件的详情,但大小以k或者M为单位 ls ../ :  ...

  7. Linux主要shell命令详解(中)

    shell中的特殊字符 shell中除使用普通字符外,还可以使用一些具有特殊含义和功能的特殊字符.在使用它们时应注意其特殊的含义和作用范围.下面分别对这些特殊字符加以介绍. 1. 通配符 通配符用于模 ...

  8. Linux主要shell命令详解(下)

    命令行编辑操作 功能 Ctrl+b或左箭头键 左移一个字符(移至前一个字符) Ctrl+f或右箭头键 右移一个字符(移至后一个字符) Ctrl+a 移至行首 Ctrl+e 移至行尾 Esc b 左移一 ...

  9. 第3节 sqoop:7、通过java代码远程连接linux执行shell命令

    数据库的数据同步软件sqoop 数据同步 关系型数据库到大数据平台 任务:sqoop 是批量导入数据太慢,如何做到实时的数据同步 实时的数据同步工具: canal 阿里开源的一个数据库数据实时同步的软 ...

随机推荐

  1. python-正铉

    第一步:安装插件 pip install Numpypip install matploatlib 第二步 导入包 import numpy as np import matplotlib.pylot ...

  2. RACSignal的一些常用用法

    NSData + RACSupport.h @interface NSData (RACSupport) // Read the data at the URL using -[NSData init ...

  3. 小白学PYTHON时最容易犯的6个错误,看看你遇到过几个

    最近又在跟之前的同学一起学习python,一起进步,发现很多测试同学在初学python的时候很容易犯一些错误,特意总结了一下.其实这些错误不仅是在学python时会碰到,在学习其他语言的时候也同样会碰 ...

  4. MySQL使用和操作总结

    简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. My ...

  5. [poj3252]Round Numbers_数位dp

    Round Numbers poj3252 题目大意:求一段区间内Round Numbers的个数. 注释:如果一个数的二进制表示中0的个数不少于1的个数,我们就说这个数是Round Number.给 ...

  6. lua循环,减少不必要的循环

    lua中for循环的理解 for i=1, 10 do i = i+3 cclog("i=======%d",i) end 输出:4,5,6,7,8,9,10,11,12,13 相 ...

  7. 03-第一个脚本程序以及输入输出_Python编程之路

    上节课已经教大家安装了Python的解释器,那么这节课我们就可以正式来写代码了 说明:在下面的代码演示中,我将大部分使用python交互器演示代码的输入输出,注意">>>& ...

  8. JavaScript(第二十五天)【事件绑定及深入】

    事件绑定分为两种:一种是传统事件绑定(内联模型,脚本模型),一种是现代事件绑定(DOM2级模型).现代事件绑定在传统绑定上提供了更强大更方便的功能.   一.传统事件绑定的问题 传统事件绑定有内联模型 ...

  9. Week1绪论--抽象数据类型

    一.作业题目 1.构造有理数T,元素e1,e2分别被赋以分子.分母值 2.销毁有理数T 3.用e(引用类型参数)返回有理数T的分子或分母,当入参i为1时返回分子, i为2是返回分母. 4.将有理数T的 ...

  10. 2017-2018-1 1623 bug终结者 冲刺001

    bug终结者 冲刺001 冲刺阶段任务分配 任务 工作量比例 完成时间 负责人 第一篇博客:各个成员的任务安排 1/7 12月1日 20162322 朱娅霖 第二篇博客:欢迎界面,主菜单界面 1/7 ...