Shell常用命令总结

1、   ls: 类似于dos下的dir命令

ls最常用的参数有三个: -a -l -F。

ls –a

Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示一般文件名外,连隐藏文件也会显示出来。

ls –l

该参数显示更详细的文件信息。

ls –F

使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。

 

2、cd: 用于切换用户当前工作目录

cd aaa 进入aaa目录

cd    命令后不指定目录,会切换到当前用户的home 目录

cd ~   作用同cd后不指定目录,切换到当前用户的home 目录

cd -   命令后跟一个减号,则会退回到切换前的目录

cd ..   返回到当前目录下的上一级目录

 

3、pwd:用于显示用户当前工作目录

 

4、mkdir 和 rmdir

midir:创建目录     rmdir:删除目录

两个命令都支持-p参数,对于mkdir命令若指定路径的父目录不存在则一并创建,对于rmdir命令则删除指定路径的所有层次目录,如果文件夹里有内容,则不能用rmdir命令

如下:

mkdir -p 1/2/3

rmdir -p 1/2/3 

 

5、cp:复制命令

复制一个文件到另一目录:cp 1.txt ../test2

复制一个文件到本目录并改名:cp 1.txt 2.txt

复制一个文件夹a并改名为b:cp -r a b

 

 

6、mv:移动命令

将一个文件移动到另一个目录:mv 1.txt ../test1

将一个文件在本目录改名:mv 1.txt 2.txt

将一个文件一定到另一个目录并改名:mv 1.txt ../test1/2.txt

 

7、rm命令

rm命令用于删除文件,与dos下的del/erase命令相似,rm命令常用的参数有三个:-i,-r,-f。

–i :系统在删除文件之前会先询问确认,用户回车之后,文件才会真的被删除。需要注意,linux下删除的文件是不能恢复的,删除之前一定要谨慎确认。

–r:该参数支持目录删除,功能和rmdir命令相似。

–f:和-i参数相反,-f表示强制删除

 

8、du、df命令

du命令可以显示目前的目录所占用的磁盘空间,df命令可以显示目前磁盘剩余空间。

 

如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况。

du -hs 指定目录  查看指定目录的总大小

du -hs ./* 查看当前目录下的所有文件夹和文件的大小

 

这两个命令都支持-k,-m和-h参数,-k和-m类似,都表示显示单位,一个是k字节一个是兆字节,-h则表示human-readable,即友好可读的显示方式。

 

9、cat命令

cat命令的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。用法如下:

cat file1 显示file1文件内容

cat file1 file2 依次显示file1,file2的内容

cat file1 file2 > file3 把file1, file2的内容结合起来,再“重定向(>)”到file3文件中。

">"是右重定向符,表示将左边命令结果当成右边命令的输入,注意:如果右侧文件是一个已存在文件,其原有内容将会被清空,而变成左侧命令输出内容。如果希望以追加方式写入,请改用">>"重定向符。

如果">"左边没有指定文件,如: cat >file1,将会等用户输入,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会将用户的输入内容写入file1。

 

10、echo命令

echo命令的使用频率不少于ls和cat,尤其是在shell脚本编写中。

语法:echo [-ne][字符串]

功能:echo会将输入的字符串送往标准输出,输出的字符串间以空白字符隔开, 并在最后加上换行符。

参数

-n 显示字串时在最后自动换行

-e 支持以下格式的转义字符, -E 不支持以下格式的转义字符

/a 发出警告声;

/b 删除前一个字符;

/c 最后不加上换行符号;

/f 换行但光标仍旧停留在原来的位置;

/n 换行且光标移至行首;

/r 光标移至行首,但不换行;

/t 插入tab;

/v 与/f相同;

// 插入/字符;

/nnn 插入nnn(八进制)所代表的ASCII字符;

 

示例

oracle@hjtest:~/hgd> echo "123" "456"

123 456

oracle@hjtest:~/hgd> echo "123/n456"

123/n456

oracle@hjtest:~/hgd> echo -e "123/n456"

123

456

oracle@hjtest:~/hgd> echo -E "123/n456"

123/n456

oracle@hjtest:~/hgd> echo -E "123///456"

123//456

oracle@hjtest:~/hgd> echo -e "123///456"

123/456

oracle@hjtest:~/hgd> echo -e "123/100456"

123@456

 

注意事项

在Linux使用的bash下,单引号’’和双引号是有区别的,单引号忽略所有的转义,双引号不会忽略以下特殊字符:

Dollar signs ($),Back quotes (`),Backslashes (/),Excalmatory mark(!)

示例如下:

oracle@hjtest:~> echo "`TEST`"

-bash: TEST: command not found

oracle@hjtest:~> echo '`TEST`'

`TEST`

oracle@hjtest:~> echo "$TEST"

        

oracle@hjtest:~> echo '$TEST'

$TEST

oracle@hjtest:~> echo "//TEST"

/TEST

oracle@hjtest:~> echo '//TEST'

//TEST

oracle@hjtest:~> echo "Hello!"

echo "Hello"

Hello

oracle@hjtest:~> echo 'Hello!'

Hello!

 

11、more,less,clear

n        more,less命令

     这两个命令用于查看文件,如果一个文件太长,显示内容超出一个屏幕,用cat命令只能看到最后的内容,用more和less两个命令可以分页查看。more指令可以使超过一页的文件内容分页暂停显示,用户按键后才继续显示下一页。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,更方便浏览阅读。

less的常用动作命令

回车键 向下移动一行;

y 向上移动一行;

空格键 向下滚动一屏;

b 向上滚动一屏;

d 向下滚动半屏;

h less的帮助;

u 向上洋动半屏;

w 可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;

g 跳到第一行;

G 跳到最后一行;

p n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;

/pattern 搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;

v 调用vi编辑器;

q 退出less

!command 调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;

n        clear命令

         clear命令是用来清除当前屏幕显示的,不需任何参数,和dos下的cls命令功能相同。

 

12、head,tail

n        head和tail命令都用于查看文本文件,区别在于: head显示文件的头n行,tail显示文件的尾n行,缺省情况n都为10行。可以通过-n方式指定行数,如:

                head -100 file和tail -100 file分别表示显示文件头100行和尾100行内容。

n        tail -f命令可以实时查看文件新增内容。

 

13、wc命令

该命令用于统计指定文件中的字节数、字数、行数。该命令各选项含义如下:

-l 统计行数

-w 统计字数

-c 统计字节数

这些选项可以组合使用。输出列的顺序和数目不受选项的顺序和数目的影响。总是按下述顺序显示并且每项最多一列。

行数、字数、字节数、文件名

如果命令行中没有文件名,则输出中不出现文件名。

例如:

oracle@hjtest:~> wc 1.txt 2.txt

  460  1679 16353 1.txt

  300  1095 10665 2.txt

  760  2774 27018 总用量

oracle@hjtest:~> wc -l 1.txt

460 1.txt

缺省参数为-lcw,即wc file1 file2命令的执行结果与上面一样。

 

14、grep 命令

grep是(global search regular expression(RE) and print out the line的缩写,用于从文件面搜索包含指定模式的行并打印出来,它是一种强大的文本搜索工具,支持使用正则表达式搜索文本。grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被””引用,模板后的所有字符串被看作文件名。搜索结果送到屏幕,不影响原文件内容。

 

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

示例

$ ls -l | grep '^a'

通过管道过滤ls -l输出的内容,只显示以a开头的行。

$ grep 'test' d*

显示所有以d开头的文件中包含test的行。

$ grep 'test' aa bb cc

显示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]/{5/}' aa

显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep 'w/(es/)t.*/1' aa

如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(/1),找到就显示该行。如果用egrep或grep -E,就不用"/"号进行转义,直接写成'w(es)t.*/1'就可以了。

 

15、man,logout命令

man命令

man是manual的缩写,相当于Unix/Linux的联机Help,每个系统命令和调用都有非常详细的说明,绝大多数都是英文。如:man ls即是查看ls命令的使用说明,一般还有另一种方法用来查看帮助,如:ls –help,这种方式绝大多数命令都支持。

 

logout命令

该命令用于退出系统,与login命令对应。

 

16、管道和xargs
管道:
  

利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

注意:管道左边命令的输入作为管道右边命令的输入(命令的输入是一定的),不是参数,并不是所有命令都支持管道

例子:ls | grep a  查看当前目录下名称包含a的文件或文件夹

 

xargs

大多数 Linux 命令都会产生输出:文件列表、字符串列表等。但如果要使用其他某个命令并将前一个命令的输出作为参数该怎么办?例如,file 命令显示文件类型(可执行文件、ascii 文本等);你能处理输出,使其仅显示文件名,目前你希望将这些名称传递给 ls -l命令以查看时间戳记。xargs 命令就是用来完成此项工作的。
注意:find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去

 

例子:

1、在整个系统中查找内存信息转储文件(core dump) ,然后把结果保存到/tmp/core.log 文件中:

$ find / -name "core" -print | xargs echo "" >/tmp/core.log

2、当一个目录下文件太多时,直接用rm * 命令会包参数过长,用如下方法可以全部删除

$ls | xargs rm

 

17、basename 和 dirname

basename用于查看文件不含路径的名字,dirname则用于查看文件路径,使用效果我们测试一下便知:

> basename /home/hj/1.txt

1.txt

> dirname  /home/hj/1.txt

/home/hj

> basename 1.txt

1.txt

> dirname 1.txt

.

18、不带任何参数的set命令将显示shell的全部变量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示...

Android JSON原生解析的几种思路,以号码归属地,笑话大全,天气预报为例演示 今天项目中要实现一个天气的预览,加载的信息很多,字段也很多,所以理清了一下思路,准备独立出来写一个总结&#xff0c…

C# WPF MVVM开发框架Caliburn.Micro 名称Transformer⑩①

使用名称TransformerNameTransformer是在Caliburn.Micro v1.1中引入的,它是ViewLocator和ViewModelLocator如何将类名映射到其伙伴角色的一个组成部分。虽然您可以覆盖这些服务上的各种函数来替换底层行为,但您的大多数需求都应该通过使用适当的NameTran…

史上最可怜的科学家:出生先天不足,家道中落吃不上饭,追个星丢工作,拜师被冤枉,写书又被烧,最后还被拖工资活活拖死了......

全世界只有3.14 % 的人关注了爆炸吧知识今天,小天来向各位模友介绍一个痴迷偶像正面刚的小迷弟吧。多病的贫家子,鲁莽的小迷弟1571年,开普勒在德国维尔镇呱呱落地了。作为一个善解人意的宝宝(胚胎),开普勒没…

[zz]为 Lua 绑定 C/C++ 对象

转载自: http://blog.codingnow.com/2013/01/binding_c_object_for_lua.html 如何绑定 C/C 对象到 Lua 里?通常是创建一个 userdata ,存放 C/C 对象指针,然后给 userdata 添加元表,用 index 元方法映射 C/C 中的对象方…

文本字符集转换

http://lqqnotes.blog.51cto.com/3329069/659886 拉取数据 在我opensuse下OK 产品的WIN下面乱码 # enca -L 现在文件的语言 -x 需要转换编码 需要转换编码的文件 查看文件编码jinlinux-gzy1:~> enca -d Downloads/store_sdb_ectools_regions_0211-3.csvDownloads/store_sdb…

php 身份认证服务,PHP的HTTP身份认证

PHP 的 HTTP 认证机制仅在 PHP 以 Apache 模块方式运行时才有效,因此该功能不适用于 CGI 版本。在 Apache 模块的 PHP 脚本中,可以用 header() 函数来向客户端浏览器发送“Authentication Required”信息,使其弹出一个用户名/密码输入窗口。当…

C# WPF MVVM开发框架Caliburn.Micro View / View Model 命名⑨

01—约定在收到Caliburn Micro中有关视图和ViewModel解析的反馈后,我们添加了新功能,以简化类型解析,同时保持驱动它的健壮的基于正则表达式的名称转换机制。为了更好地了解这些新功能以及类型解析通常如何在框架中工作,现在是详细…

rman归档删除

rman&#xff1a; delete [all] input 数据库oracle 11g 全备脚本如下&#xff1a;rman target / <<EOFrun {allocate channel t1 type disk; allocate channel t2 type disk; allocate channel t3 type disk; set limit channel t1 kbytes 4194304;set limit channel t…

史上最气人的数学家:文理双全智商还高,说话只说半句,解题只解半个,调戏人调戏了三百年还不够......

全世界只有3.14 % 的人关注了爆炸吧知识大家上学的时候有没有想过&#xff1a;在数学试卷上调戏阅卷人。想想小天&#xff0c;会都不会写&#xff0c;还调戏阅卷人&#xff1f;想都不敢想。但一个知乎大佬就做了。他居然用费马的原话作答&#xff1a;我已经想到了一个极佳的证明…

php验证手机验证码过期,验证过期时间

~~~//说明目前短信验证码发送成功 需要记录具体的验证码到session。//需要保证验证码有过期时间。关于过期时间 可以记录当前发送验证码的时间以及具体的有效时间$dataarray(code>$code,time>time(),//指定当前的时间limit>3600,//表示具体的过期时间);session(telcod…

数据库(连接)

连接&#xff1a; 为什么需要连接&#xff1f;&#xff1a;因为我们需要的数据在不同的表中 内连接&#xff1a; select 列A from 表A inner join 表B on 条件1条件2 在内连接中可以省去 inner 注&#xff1a;on 必须和join 一起出现 他没有单独存在的意义 外连接&#xff1a…

Hello Blazor:(15)使用bUnit进行单元测试

bUnit介绍bUnit是Blazor组件测试库。其目标是使编写全面、稳定的单位测试变得容易。有了bUnit&#xff0c;你可以&#xff1a;使用C#或Razor语法设置和定义测试下的组件使用语义HTML比较器验证结果与组件以及触发事件处理程序进行交互和检查传递参数、级联值并将服务注入测试组…

*p++,(*p)++,*++p,++*p有什么不同

例如int a[5]{1,2,3,4,5}; int *p a;*p 先取指针p指向的值&#xff08;数组第一个元素1&#xff09;&#xff0c;再将指针p自增1&#xff1b;cout << *p; // 结果为 1cout <<(*p); // 1(*p) 先去指针p指向的值&#xff08;数组第一个元素1&#xff09;&#xff…

掌握这个姿势,女友不再叨叨叨

1 请收下我的膝盖2 正确姿势3 前世五百次的回眸 才换来今生的一次神同步4 论引体向上&#xff0c;你是不如我的5 教科书式的傲娇6 只有我最摇摆7 这是什么原理&#xff1f;你点的每个赞&#xff0c;我都认真当成了喜欢

ubuntu安装matlab2009,Ubuntu中安装Matlab2010a

Ubuntu中安装Matlab2010a一&#xff0e;前言&#xff1a;相信大家对于Matlab应该很熟悉吧&#xff0c;我就不多做介绍了。对于如何在Ubuntu中安装Matlab很多人都不懂&#xff0c;大家都是新手&#xff0c;可以理解。我自己本身就是一个菜鸟&#xff0c;所以决定写这篇文章&…

数据结构笔记--栈的总结及java数组实现简单栈结构

杂谈"栈"结构:   栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top). 对栈的基本操作有push和pop,表示进栈和出栈.也就相当于插入和删除操作. 栈结构又叫做LIFO(后进先出)表.归根结底是一个表结构,因此任何能够实现表结构的方…

45岁,一个平凡大叔的异地打工生活

&#x1f4e2;欢迎点赞 &#xff1a;&#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff0c;赐人玫瑰&#xff0c;手留余香&#xff01;&#x1f4e2;本文作者&#xff1a;由webmote 原创&#xff0c;首发于 【掘金】&#x1f4e2;作者格言&#xff1a;生活在于…

C之结构体

 C语言中数组允许定义类型的变量,可容纳相同类型的多个数据项,但结构体在C语言编程中,它允许定义不同种类的数据项可供其他用户定义的数据类型。 结构是用来代表一个记录,假设要跟踪图书馆的书籍。可能要跟踪有关每本书以下属性: Title - 标题 Author - 作者 Subject…

用高等数学“铲雪”!这个200多年前的证明太厉害了,有城市用它省了2000多万..........

全世界只有3.14 % 的人关注了爆炸吧知识用高等数学清扫脚下路前几天&#xff0c;北京下了2021年的第一场雪。这让生活在广州的超模君羡慕不已&#xff0c;原本打算春节前去哈尔滨看个冰雕&#xff0c;结果由于各种原因一直都没成行。一个月前被关进小黑屋的设计师妹子刚好来自哈…

matlab排版形式是什么样子,工作型PPT,图文排版的4种常见样式

原标题&#xff1a;工作型PPT&#xff0c;图文排版的4种常见样式图片是PPT中最好用的一种元素&#xff0c;正所谓“一图抵过千言”。但要想让图片真正地发挥价值&#xff0c;图文排版的好坏非常关键。本期将聊聊4种图文排版的处理方法。这些方法也是我们日常工作中的PPT图文排版…