linux命令整理 linux工作中最常用命令全集

实训第二天内容总结(Linux常用命令及使用)

1、目录切换命令

站在用户的角度思考问题,与客户深入沟通,找到新绛网站设计与新绛网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、做网站、成都外贸网站建设公司、企业官网、英文网站、手机端网站、网站推广、申请域名雅安服务器托管、企业邮箱。业务覆盖新绛地区。

cd usr/ 切换到该目录下usr目录

cd ../ 切换到上一层目录

cd /切换到系统根目录

cd ~ 切换到用户主目录

2、目录操作命令

(1)增加目录

命令:mkdir 目录名称

(2)查看目录

   ls [-al] 父目录   ls -l 可以缩写成ll

      (3)寻找目录

   find 目录 参数(重点)

   注意这里涉及权限问题,需要先切换到root目录 su root

        (4)修改目录名称

   mv 目录名称 新目录名称

        (5)拷贝目录

   cp -r 被目录名称 目录拷贝的目标位置 -----r代表                          递归拷贝

   将/usr下的newTest拷贝到根目录下的test中,使用cp -r                 /usr/newTest test/rm

        (6)删除目录

   rm [-rf] 目录

   删除/usr下的newTest,进入/usr下使用rm -r newTest

3、文件操作命令

        (1)文件创建  touch 文件名称 ----- 空文件

        (2)文件查看    cat/more/less/tail 文件

        (3)修改文件内容    vim 文件

    vim 文件------进入文件-----命令模式------按i进入编                     辑模式-----编辑文件 -------按Esc进入底行模式-----                      输入:wq/q!

        (4)删除文件

   熟记 rm -rf 文件 即可

4、压缩文件操作命令

           (1)tar -zcvf 打包压缩后的文件名 要打包压缩的文件

   z:调用gzip压缩命令进行压缩

c:打包文件

v:显示运行过程

f:指定文件名

        (2) 解压压缩包(重点)

   tar [-xvf] 压缩文件

5、其他命令

        (1)显示当前所在位置    pwd

        (2)搜索命令    grep 要搜索的字符串 要搜索的文件

        (3)管道命令 | 将前一个命令的输出作为本次目录的                      输入

        (4)查看进程     ps -ef

        (5)网络通信命令    查看当前系统的网卡信息:ifconfig

  查看与某台机器的连接情况:ping

        (6)查看当前系统的端口使用 netstat –an,通常和 |                 grep一起使用

6、Linux的权限命令

   在随意某个目录下ls -l  查看某个目录下的文件或目录                    的权限 rwx 读取权 写入权 执行权 

         这个字符串有10位,可以分为4段来解读

第一段(第1位)表示是目录还是文件,-表示是文件,d表示是目录;

第二段(第2-4位,共3个字符串)表示文件所属用户对它的权限 - 属主权限(User);

第三段(第5-7位,共3个字符串)表示文件所属用户组用户对它的权限 - 属组权限(Group);

第四段(第8-10位,共3个字符串)表示其他用户对它的权限 - 其他权限(other);

注意:①我们用3位8进制来表示文件的权限,r(read)用4标识,w(write)用2标识,x(excute)用1标识

②r–可读,w–可写,x–可执行。

③每一段的三位顺序不可变,如果没有对应的权限,则使用-表示

上图中的-rwxrw-r–可以用八进制数字764表示。

!!!!修改文件/目录的权限的命令:chmod

chmod u=rwx,g=rw,o=r aaa.txt 或者777 代表全部权限

7、 free查看内存信息

df -h 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计

8、top查看资源信息(CPU)

top

补充:

关机命令

reboot  重新启动操作系统

shutdown -h now 立刻关机,其中now相当于时间为0的状态

shutdown -h 10:23

shutdown -h +10  系统再过十分钟后自动关机

Linux命令

目录操作

    cd usr/                            切换到该目录下usr目录

    cd ..                                切换到上一层目录

    cd /                                切换到系统根目录

    mkdir 目录名称              创建目录

    ls      目录名称                查询该目录下所有的目录和文件

    ls [-a]  目录名称              查询该目录下所有的目录和文件,包含隐藏文件

    ls [-l]  目录名称              查询该目录下所有的目录和文件的详细信息

    find / -name 目录名称    查找/root下的目录(文件)

    mv 目录名称 新目录名称  修改目录名称

    mv 目录名称 目录的新位置      剪切

    cp -r 目录名称 目录的目标位置  拷贝

    rm -rf  目录                  强制删除目录

文件操作

    touch 文件名称            创建空文件

    cat/more/less/tail 文件  查看文件内容

    tail -f 文件                  动态查看/实时查看文件(日志)

    grep 要搜索的字符串 要搜索的文件                关键字搜索

    vi/vim  文件                修改文件内容

    rm -rf 文件                强制删除文件

文件的打包

    tar -zcvf 文件名.tar  要打包的文件

文件的解压 

    tar -xvf 文件名.tar

扩充:将文件解压到固定位置

    tar -xvf 文件名.tar -C 指定解压的位置

查询当前所在位置

    pwd     

查看进程

    ps -ef | grep 进程名称(tomcat/mysql)

杀死进程

    kill -9 进程pid

查看端口号

    netstat -an | grep 端口号(3306)

查看服务器ip

    ifconfig

查看网络是否能正常使用

    ping 外网地址            查看是否能访问外网

    ping 内网ip                查看是否能访问内网

权限命令

    chmod 777 文件        赋权

查看cpu

    top

查看磁盘信息

    df -h

查看内存信息

    free   

关机命令

    shutdown -h now  立刻关机,其中now相当于时间为0的状态

    shutdown -h 10:23

    shutdown -h +10    系统再过十分钟后自动关机

重新启动

    reboot    重新启动操作系统

Linux常用基本命令大全介绍

学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令。下面由我为大家整理了Linux系统常用的基本命令入门篇,希望对大家有帮助!

Linux系统常用的基本命令入门篇一、基础命令

1.Linu x的进 入与退出系统

进入Linux系统:

必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:

1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。

2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。

一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。

用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。

当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:

[root@loclhost/root] #

这时就可以对系统做各种操作了。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo;。

2.修改口令

为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。

3.虚拟控制台

Linux是一个真正的多用户 操作系统 ,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。

退出系统

不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。

4.查看命令帮助信息

man命令

man命令用于查询命令和程序的使用 方法 和参数。

例如:

man ls

将显示ls命令的基本格式和使用方法

Linux系统常用的基本命令入门篇二、关机重启命令

首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到

reboot 一般不跟参数使用,输入指令即可重启

shutdown 一般需要跟参数,例:

shutdown -r 延时多少分钟重启,一般使用now

shutdown -r now 立即重启

shutdown -f 强制重启

跟windows一样,linux也存在注销功能

exit

1)halt

halt 可不接参数

halt -f 强制关机

2)poweroff

poweroff 可不接参数使用

poweroff -f 强制关机

3)init 0

4)shutdown 不可单独使用

shutdown -h 分钟数 延时多久关机

shutdown -h now 立即关机

Linux系统常用的基本命令入门篇三、vi编辑

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。

默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用ldquo;escrdquo;键,从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键。

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入。常用内置命令如下:

1 Ctrl+u:向文件首翻半屏;

2 Ctrl+d:向文件尾翻半屏;

3 Ctrl+f:向文件尾翻一屏;

4 Ctrl+b:向文件首翻一屏;

5 Esc:从编辑模式切换到命令模式;

6 ZZ:命令模式下保存当前文件所做的修改后退出vi;

7 :行号:光标跳转到指定行的行首;

8 :$:光标跳转到最后一行的行首;

9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;

10 D:删除从当前光标到光标所在行尾的全部字符;

11 dd:删除光标行正行内容;

12 ndd:删除当前行及其后n-1行;

13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;

14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;

15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;

16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;

17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;

18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,ldquo;s/rdquo;表示进行替换操作;

19 a:在当前字符后添加文本;

20 A:在行末添加文本;

21 i:在当前字符前插入文本;

22 I:在行首插入文本;

23 o:在当前行后面插入一空行;

24 O:在当前行前面插入一空行;

25 :wq:在命令模式下,执行存盘退出操作;

26 :w:在命令模式下,执行存盘操作;

27 :w!:在命令模式下,执行强制存盘操作;

28 :q:在命令模式下,执行退出vi操作;

29 :q!:在命令模式下,执行强制退出vi操作;

30 :e文件名:在命令模式下,打开并编辑指定名称的文件;

31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;

32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;

33 :set nu:在命令模式下,用于在最左端显示行号;

34 :set nonu:在命令模式下,用于在最左端不显示行号;

35 :1,3y 复制第一行到第三行

36 :1,3d 删除第一行到第三行

37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串

38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符

39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

Linux常用命令一、查询相关

find

按规则查找某个文件或文件夹,包括子目录

find . -name '_sh' -- 以.sh结尾的文件

find . -name '_hannel_ -- 包含channel字符的文件

find . -name 'build_ -- 以build开头的文件

find . -name 'abc??' -- abc后面有两个字符的文件

grep

查找内容包含指定的范本样式的文件,Global Regular Expression Print

grep -n pattern files -- 规则 -n表示显示行号

grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方

grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号

ps -e | grep java -- 所有java进程

ps -e | grep -i qq --所有qq进程,不区分大小写

find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方

ls | grep 'channel' -- 包含channel关键字的文件

which

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

which zipwhich grep

Linux常用命令二、查看命令

tail

tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

tail -f test.log,循环查看文件内容,Ctrl+c来终止

tail -n 5 test.log,显示文件最后5行内容

tail -n +5 test.log,从第5行开始显示文件

more

more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]

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

more +3 test.log,显示文件中从第3行起的内容

more -5 test.log,设定每屏显示行数

ls -l | more -5,每页显示5个文件信息

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

less

less [options] [file...]

与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

less test.log,查看文件

ps -ef | less,查看进程信息并通过less分页显示

history | less,查看命令历史使用记录并通过less分页显示

less test1.log test2.log,浏览多个文件,n和p切换文件

watch

watch [options] command

每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变

watch -n 60 date,执行date命令每分钟一次,输入^C 退出

watch -d ls -l,查看目录变化

watch -d rsquo;ls -l | fgrep joersquo;,想找joe用户的文件

watch -d 'ls -l|grep scf',监测当前目录中 scf' 的文件的变化

watch -n 10 'cat /proc/loadavg',10秒一次输出系统的平均负载

watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化

watch -n 1 -d 'pstree | grep http',每隔一秒高亮显示http链接数的变化

Linux常用命令三、文件相关

vi

vi file

按i键,进入编辑模式

按esc键,进入命令模式

:w 保存文件但不退出vi

:w file 将修改另外保存到file中,不退出vi

:w! 强制保存,不推出vi

:wq 保存文件并退出vi

:wq! 强制保存文件,并退出vi

q: 不保存文件,退出vi

:q! 不保存文件,强制退出vi

:e! 放弃所有修改,从上次保存文件开始再编辑

chmod

change mode,变更文件或目录的读、写、运行权限

chmod [-cfvR] [--help] [--version] mode file...

mode:权限设定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1

chmod 777 file,等同于 chmod a=rwx file

chmod ug=rwx,o=x file,等同于 chmod 771 file

chmod 4755 filename,可使此程序具有root的权限

ls -l 可以查看列出当前用户的文件权限

zip

zip -r filename.zip filesdir

zip -r test.zip ./_把当前所有文件压缩到test.zip

zip -r test.zip test,把test文件所有文件及目录,要是到test.zip

zip -d test.zip test.txt,删除压缩文件中test.txt文件

zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件

zip -r test.zip file1 file2 file3 filesdir,处理多个文件和目录,空格隔开

unzip

unzip zip-file,解压到当前目录

unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录

unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件

unzip -n -d dst-dir zip-file,解压到指定的目录,不覆盖已经原有的文件

unzip -o -d dst-dir zip-file,-o不必先询问用户覆盖原有文件

unzip -l zip-file,仅查看压缩文件内所包含的文件

tar

tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test,把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz,把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在 显示器 上

tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录

touch

测试中最基本的linux命令,学会离大佬就不远了

学习软件测试,最基本的linux命令必须掌握,现为大家整理如下:

一:系统管理相关命令

ls:可以看到整个目录

1.su:在不退出登陆的情况下,切换到另一个用户的身份

如:su root

切换到root这个用户,将提示输入密码,输完密码后即可登陆

# 超级用户提示符

$ 普通用户提示符

whoami:确认自己身份

history:查看运行命令的 历史

ifconfig:显示或设置网络设备的命令,我们可以用这个命令查看自己虚拟机的IP地址

ping:ping是Windows.Unix,Linux系统下的一个命令.ping命令也属于一个通信协议,是TCP/I协议的一部分。利用“ping"命令可以检查网络是否联通

停下来是:Ctrl+C(4)

kill:杀死进程(kill-9 进程号 强制杀死进程)

目录操作命令

linux的文件系统是采用层级式的树状目录结构,在此结构中的最上层是根目录”/“,下层是各种各样的子目录和文件。

/:unix 文件系统的上层根目录

root:存放root用户的相关文件

home:存放普通用户的相关文件

bin:存放常用命令的目录,如vi,su,普通用户就可以提取的命令

sbin:要具有”一定权限才可以使用命令“

etc:存放配置的相关文件

vir:存放经常变化的文件。如:网络连接的sock文件

boot:启动目录,存放引导系统启动的相关文件

usr:安装一个软件的默认目录,相当于Windows下的program files

dev:设备文件保存目录

lb :系统库保存文件

pwd命令:显示当前路径

cd命令:切换目录

用法:cd目录路径

cd./切换到上级目录

cd/切换到根目录

cd~(或只有cd) 切换到用户主目录(home底下以用户名命名的文件夹)

/root目录

cd /opt ---cd bin 与cd /opt---cd /bin的区别

mkdir创建目录

mkdir 目录名

rmdir删除空目录

用法:rmdir 目录名

也可用:rm-rf 目录名

touch a.txt创建一个a.txt文件

二:文件操作命令

在Linux系统中,几乎所有内容包括文档,命令,设备和目录等都组织成文件的形式,用文件来管理,常用文件命令有:

|| 查看文件目录,以及它们对应的属性信息

cp 复制命令

用法:cp[选项] 文件名或目录 目标地址

-R 拷贝目录及目录下所有目录和文件

cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)

mv 移动命令

用法:mv文件名或目录 目标位置

mv a.txt../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)

mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)

移动目录的时候,如果出现覆盖的情况,且被覆盖的目录非空,需要加一个'-b'的参数才能移动成功。被覆盖的目录此时会生产一个备份。

rm 删除文件或目录(i:操作时进行询问)

-f 强制删除

-r 删除目录

常用:rm -f文件或目录

find命令 查找文件

用法:find[路径][选项]

常用选项有:

find . -name a.txt 在当前目录查找文件a.txt

find / -name a.txt 从当前目录查找a.txt文件

grep命令

功能:在指定文件中查找字符(串)并打印该行;过滤,经常跟管道符号一起出现

用法:grep 字符串 文件名

grep xyz file 在file文件中寻找band字符串所在的那一行

文件编辑命令

vi:是linux下常用的文本编辑器

调用方法:vi a.txt(如果a.txt不存在,则创建,保存退出则创建成功)

按键盘i进入编辑状态(注意:都是英文输入法下进行输入)

退出编辑按ESC键,退出方法

不保存退出: :q!

保存退出: :wq

输入/,进入搜索,输入你需要搜索的文字,按Enter

按键盘G,可以直接定位到最末行

按键盘g,可以直接定位到首

cat命令:显示文本文件内容

用法: cat文件名 cat 文件名字

head:查看前几行 用法:head -n 5 文件名

tail:从指定点开始将文件写到标准输出,使用tail命令的-f选项可以方便的查阅正在改变的日志文件

tail -n 5文件名 查看后几行

tail -f error.log 不断刷新,看到最新内容

系统资源查询命令

ps 查看进程(动态)

-ef 显示所有运行进程,并显示启动进程的命令

Uid:用户ID,PID;进程id PPID:父进程,C:进程cpu占用率,Stime:进程从启动到现在所运行的时间

TTY:终端号。CMD:命令名称和参数

netstat 查看网络状况

netstat -apn 查看所有端口

管道命令

管道使用”|“符号,并且在命令之间建立管道,将前面命令的输出作为后面命令的输入

如:ls|greap abc:管卡道前面的命令显示当前目录下的文件,后面从列出的文件名中寻找含有abc字符串的文件或者目录

正常情况下,杀死服务进程(比如杀死tomcat进程)

通过进程名找到进程,在杀死进程

通过命令查找tomcat进程:ps -ef|grep tomcat(ps -ef是查找所有运行的进程,通过管道符找到所有进程中包含了”tomcat"字符串的进程,即为tomcat进程),假如5541

杀掉此进程,kill -9进程id(kill -9 5541)

通过端口来找到进程,再杀死进程

通过命令查找到占用此端口的进程编号:netstat -apn|grep 8080 根据8080查进程,假如 5541

杀掉进程:kill -9 pid(kill -9 5541)

三:权限赋予命令:chmod

linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在linux中可以使用||或ls -|命令来显示一个文件的属性以及文件所属的用户和组。

chmod语法:chmod[-R] xyz文件或目录

读(r): 4 写(w): 2 执行(x): 1

chmod 532 test.txt

压缩,解压命令

例如:将test文件压缩成test.tar.gz

安装软件命令

yum 自动下载安装(前提:能访问外网)

yum[操作][package]

例如:yum install mysql-server(安装mysql服务器)

rpm 安装

rpm -ivh 软件包名(ivh 安装显示安装进度)

linux sort 命令整理

无论是工作中使用还是应付各种面试,linux sort 都是必须要掌握的 linux 基本命令之一。尤其是 linux sort -k 命令,经常会被搞晕,索性好好研究一下 sort 命令

语法:

选项:

参数就不一一介绍了,直接上例子,首先先看下原始的排序数据

cat sort.log

1、打印从哪列开始是乱序

sort -c sort.log; echo $?

sort -C sort.log; echo $?

其中,返回结果 1,表示文件不是已经排序好的文件

2、默认排序( 整行进行ASCII字符升序)

sort sort.log

3、高能来了,让人迷糊的 k 语法,首先看下 k 的语法格式

这个语法格式可以被其中的逗号(”,”)分为两大部分,Start部分和End部分

Start和End部分都由三部分组成,其中的Modifier部分就是类似n和r的选项部分,可省略

FStart、Fend,表示使用的域,而CStart则表示在FStart域中从第几个字符开始算"排序首字符",同理,CEnd表示结尾的第几个字符是排序末尾字符,.CStart、.CEnd是可以省略的,分别表示从本域的开头部分开始、到本域的域尾结束,CEnd设定为0,也是表示结尾到域尾。口说无凭,上几个例子吧

3.1 对第三列进行排序,如果不加n,按照 ASCII字符排序

sort -t $'\t' -k 3 sort.log

3.2 加n后,按照数值排序

sort -t $'\t' -k 3n sort.log

3.3 不指定 FEnd 时,多个 -k 从前往后排序可以,从后往前不行

从后往前,多个 -k,数据符合预期

sort -t $'\t' -k 3n -k 1 sort.log

从后往前,多个 -k ,第三列相同时,按照第一列降序排列,数据符合预期

sort -t $'\t' -k 3n -k 1r sort.log

更换成从前往后

sort -t $'\t' -k 1 -k 3n sort.log

sort -t $'\t' -k 1 -k 3nr sort.log

通过 sort -t $'\t' -k 1 -k 3n sort.log 和 sort -t $'\t' -k 1 -k 3nr sort.log 返回的结果发现,在第一列相等时,无论其三列是正序排列,还是逆序排列,结果都一样,说明后边的 -k 未生效

当指定 FEend 后

sort -t $'\t' -k 1,1 -k 3nr sort.log

3.4 作用域

紧跟在字段后的选项(如"-k3n"的"n"和"-k2nr"的"n","r")称为私有选项,使用短横线写在字段外的选项(如"-n"、"-r")为全局选项。当没有为字段分配私有选项时,该排序字段将继承全局选项,所有选项包括但不限于"bfnrhM"

除了"b"选项外,其余选项无论是指定在FStart还是FEnd中都是等价的,对于"b"选项,指定在FStart则作用于FStart,指定在FEnd则作用于FEnd

sort -t $'\t' -k1r,2 sort.log ,可以看出一、二列都是倒叙排列

3.5 注意

指定n选项按数值排序时, 由于"n"选项只能识别数字和负号"-",当排序时遇到无法识别字符时,将导致该key的排序立即结束,n选项绝对不会跨域进行比较

默认情况下,sort会进行一次 "最后的排序" ,按照默认规则对整行进行一次排序,这次排序称为"最后的排序"

sort -t $'\t' -k3n sort.log ,在第三列相等时,整行会按照 ASCII 进行最后的升序排列

sort -t $'\t' -k3,4n -s sort.log ,加了 -s 后,不会进行最后的排序(1000相同时,e在b的前边了),而是保留原排序

3.6 按照某个域中的第n个字符进行排序

sort -t $'\t' -k2.3,2.3 sort.log ,按第二列第三个字符进行排序

4、 -h 使用易读性数字(例如:2K、1G)

sort -t $'\t' -k5h sort.log

sort -t $'\t' -k2,2 sort.log|uniq

sort -t $'\t' -k2,2 -u sort.log 会对第二列进行去重,而 sort -t $'\t' -k2,2 sort.log|uniq 会对整行进行去重(当然uniq也可以按照第二列进行去重)

sort整理完了,欢迎大牛指教


网站名称:linux命令整理 linux工作中最常用命令全集
分享路径:http://abwzjs.com/article/docspip.html