Linux 基本的bash shell命令

文件和目录列表

  1. ls -F 区分文件和目录,目录名称后面带了(/) ,会在可执行文件后面带上(*),类似.publish.sh的文件。
  2. ls -a 显示所有文件目录,包括隐藏。
  3. ls -R 递归选项。列出了当前目录下包含的子目录中的文件。
    ls -F -R ----> ls -FR
  1. ls -l 显示附加信息。
屏幕快照

显示下述信息:

  • 文件类型:(d)开头表示目录,(-)开头表示文件,字符型文件(c),块设备(b)
  • 文件权限:r:read w:write x:execute 可执行
  • 文件的硬链接总数
  • 文件属主的用户名 zhanglinyu
  • 文件属组的组名 stafff
  • 文件大小 以字节为单位
  • 文件的上次修改时间
  • 文件名或者目录名
  1. man ls
    能看到可用来修改ls命令输出的参数。 对于其他的一些命令同样可以查看,不只是ls。
  2. 过滤输出列表
  ls src
  ls -l src //指定文件名作为过滤器

  //如果不知道确切的文件名,在过滤器中使用星号和问号被称为扩展匹配,指的是通配符进行模式匹配过程。
  ls -l sr*
  ls -l s?
  //(?)代表一个字符
  //(*)代表0个或者多个字符

  ls -l rout[er] //匹配出 routr/route  
//中括号表示一个字符位置并给出多个可能的选择。也可以指定字符范围 [a-i]/ [!a]
 

处理文件

  1. 创建文件
  touch test_one
  1. 文件复制
  cp 源对象 目标对象
  cp test_one test_two
  cp -i test_one test_two  // -i 如果后者已经存在会提示是否覆盖
  man cp可以查看cp命令的所有可用参数
  cp -R 可以用它在一条命令中递归地复制整个目录的内容
  1. 制表键自动补全 mac上的tab键同等功能。
  2. 链接文件
    链接文件是Linux文件系统的一个优势,如果需要在系统上维护同一份文件的两个或者多个副本,除了保存多份单独的物理副本之外,还可以采用保存一份物理副本和多个虚拟副本的方法。
    这种虚拟的副本就称为链接。链接是目录中指向真实位置的占位符。在Linux中有两种不同的文件链接:
  • 符号链接
    符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中的某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此内容并不相同。要为一个文件创建符号链接,原始文件必须事先存在。然后可以使用ln命令以及-s选项来创建符号链接。
ln -s test_one s1_test_one
屏幕快照

注意:符号链接的文件大小与源文件大小不一样。因为链接文件只是指向源文件而已。内容并不同。

另一种证明链接文件是独立文件的方法是查看inode编号。文件或者目录的inode编号是用于唯一标识的数字,这个数字由内核分配给文件系统中每一个对象。查看inode编号,可以使用ls的-i参数。

   ls -i *test_one //
屏幕快照
  • 硬链接

硬件链接会创建独立的虚拟文件。其中包含了源文件的信息和位置。但它们从根本上而已是同一个文件。引用硬件链接文件等同于引用了源文件。要为一个文件创建硬件链接,原始文件必须事先存在。只不过使用ln的时候不需要加额外的参数。

ln test_one s2_test_one
屏幕快照

可以看见 硬件链接的inode编码和源文件的一样 所以其实是通一个文件。

说明:只能对处于同一个存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间的文件之间创建链接,只能使用符号链接。

  1. 重命名文件(移动)
    在Linux中,重命名文件称为移动,mv命令可以将文件和目录移动到另外一个位置或重新命名。
    mv 重命名
  mv test_onea test_oneb  //重命名

只影响文件名,其他都不变。

mv 可以用来移动文件:
创建test文件,将test_oneb移动下面

  mv test_oneb ./test/  移动到当前目录下的test文件中
  mv test_oneb ./test/test_oneb_1  //移动并修改名称  改变的只是位置和名称

如上图 文件信息也不会改变

  1. 删除文件
  rm -i test_one  //-i参数就是一个提示操作 bash shell没有回收站或者垃圾箱,一旦删除,就无法再找回。
  rm -f test_one //强制删除文件
  rm -rf test //递归强制删除目录

处理目录
在Linux中,有些命令(比如cp命令)对文件和目录都有效,而有些只对目录有效。

  1. 创建目录 mkdir
mkdir New_dir
ls -ld New_dir // 查看目录用 -ld 
目录长列表是以d开头,表示不是一个文件而是一个目录

批量创建目录需要加参数-p

mkdir -p New_dir/Sub_dir/Under_dir
ls -R New_dir //查看整个目录
打包文件中应用shell实例
  1. 删除目录 rmdir
  mkdir one_file
  rmdir one_file //如果one_file目录下面没有东西则可以直接删除成功。如果有东西则需要先将目录下面的文件删除,然后才能使用rmdir命令。

rmdir 没有 -i选项来询问是否删除目录。还有一种方式删除非空目录。使用rm,删除其中的文件,再删除目录本身。

rm -r New_dir 直接删除
rm -ri New_dir 询问删除
注意:对于rm命令而言,-r和-R参数的效果是一样的,-R参数同样可以递归删除目录中的文件。shell命令很少会就相同功能采用不同大小写的参数。

查看文件内容

  1. 查看文件类型

当我们在test文件里面写入 '1222ww22',执行
file test : ASCII text, with no line terminators
当我们在test文件里面写入 '我的',执行
file test : UTF-8 Unicode text, with no line terminators

  1. 查看整个文件,在Linux上有3个不同的命令可以完成这个任务
  cat test.txt //会显示里面的内容
  cat -n test.txt //会把行号也带上
  cat -b test.txt//只给有文本
cat命令
  1. more 命令
    cat 命令的主要缺陷是:一旦运行,你就无法控制后面的操作。为了解决这个问题,才有了more命令。more命令会显示文本文件的内容,但会在显示每页的数据之后停下来。

简单来说就是cat会将内容一次性显示出来,而more会进行分页。

  1. less命令
    more 命令只支持文本文件中的基本移动,如果要更多高级的功能,可以试试less命令。具体执行man less看看相关。
  2. 查看部分文件
tail test.txt //默认显示最后10行
tail -n 2 test.txt //使用-n修改 显示最后两行
tail -2 text.txt//同上

-f 参数是tail命令一个突出的特征,它允许你在其他进程使用该文件的时候查看文件的内容,tail命令会保持活跃状态,并不断显示添加到文件中的内容,这是实时监控系统日志的绝妙方式

  1. head 显示前面
head test.txt //默认显示前面10行
head -n 2 test.txt //使用-n修改 显示前面两行
head -2 text.txt//同上

文件的开头部分一般不会改的,所以不支持-f 特性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容