linux命令行(一)shell命令

目录

1.bash

1.1作业控制

1.2 环境变量

1.3管道机制

1.4重定向

1.4.1 输出到文件  > 符

1.4.2 附加到文件 >> 符

1.4.3使用文件作为输入 < 符

2.shell快捷键

2.1通配符

2.2环境变量作为参数 $ 符

2.3多个命令

2.4反引号

3.文档工具

3.1man命令

3.2texinfo系统

4.文件

4.1文件类型

4.2所有权和权限管理

4.2.1列出文件:ls

4.2.2更改所有权:chown

4.2.3更改组设置:chgrp

4.2.4更改模式:chmod

4.3文件管理

4.3.1复制文件: copy

4.3.2移动文件:mv

4.3.3链接文件:ln

 4.3.4查找文件:find

4.3.5文件打包与压缩:xz、zip、unzip、tar

4.3.6创建目录:mkdir

4.3.7删除文件或目录:rm

4.3.8显示当前工作目录:pwd

4.3.9连接和显示文件:cat

4.3.10一次一屏的显示文件:more或less

4.3.11显示文件的目录位置:which

4.3.12定位命令:whereis


1.bash

1.1作业控制

[进程名 + &]                   程序将启动,且放弃控制终端,即该进程后台运行。

这样即使关闭终端,进程仍会继续运行,而不会被中断。

[ctrl + z]                          可以将一个正在前台执行的命令放到后台,并且暂停

[jobs]                                查看当前有多少在后台运行的命令

[fg number]                       fg(foreground)将进程号number的进程转到前台

number是通过jobs命令查到的后台正在执行的命令的序号(不是pid)

[bg number]                        bg(background)将进程号number的进程转到后台,

1.2 环境变量

[printenv]                             列出所有的环境变量

[printenv variable]                variable是环境变量名,查看某一环境变量

[variable=value]                  修改环境变量的值,只在当前shell中(局部的)成立,不要有空格

[export variable=value]                将shell变量输出为环境变量(应用于之后创建的进程中)

或者将shell函数输出为环境变量   

[unset variable]                        移除环境变量                 

1.3管道机制

[ | ]符号 程序的输出作为输入发送给另一个程序

常用与[grep ]命令组合        对于某个文本,grep 匹配关键字所在的行作为显示

如:printenv | grep TEAM  将只显示TEAM关键字所在的行

1.4重定向

所谓重定向就是重新定义输出的方向(目的地),重定向有3类:输出到文件、附加到文件和发送文件作为输入。

1.4.1 输出到文件  > 符

如:ls > /tmp/directory_listing         输出目录到/tmp/directory_list文件中

1.4.2 附加到文件 >> 符

如:echo "Directory listing" >> /tmp/directory_listing         在/tmp/directory_listing文件末尾追加“Directory listing"字符

1.4.3使用文件作为输入 < 符

如:grep ”root“ <  /etc/passwd         将/etc/passwd文件传送给grep程序。

注意:< 符是从后向前传送。

2.shell快捷键

2.1通配符

通配符与正则表达式不同,只用来做文件名的匹配,它由shell解析,如比如find,ls,cp,mv命令。 

通配符含义示例
*匹配 0 或多个字符a*b  a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
匹配任意一个字符a?b  a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list]匹配 list 中的任意单一字符a[xyz]b  a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list]或[^list]匹配 除list 中的任意单一字符a[!0-9]b  a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]a[0-9]b  0与9之间必须也只能有一个字符 如a0b, a1b... a9b.
[!c1-c2]或[^c1-c2]匹配不在c1-c2的任意字符a[!0-9]b  如acb adb
{string1, string2, ....}匹配 sring1 或 string2 (或更多)其一字符串a{abc,xyz,123}b  列出aabcb,axyzb,a123b

 如:ls  *.txt命令将列出以.txt 结尾的文件

转义,使用\将使得通配符失去特殊意义,如:ls  \*.txt 仅仅列出*.txt这一个文件。

2.2环境变量作为参数 $ 符

$环境变量,可以引用环境变量的值

如:echo SHLVL           显示字符串”SHLVL“ 

        echo $SHLVL        显示环境变量SHLVL的值”1“

2.3多个命令

使用;符分隔命令,一行可以执行多个命令。

如: ls -l

        cat  /etc/passwd

可以代替为:ls -l ; cat  /etc/passwd

使用&& 符分隔命令,按照编程的逻辑与执行。

如:ls does-not-exist.txt && date        如果ls命令执行失败,后面的date命令就不会执行。

2.4反引号

在linux中单引号‘’,双引号”“,其中包含的内容都会被当作字符串处理,区别是双引号会解析特殊字符,如果想要忽略特殊字符,那么需要用到 \ 转义字符,而单引号不会解析特殊字符。

反引号用来处理命令,反引号在将括号内的命令处理完毕之后,会将返回的信息传给bash,再次执行

如:cat   test.txt
/home/adins/snap/   在test.txt文件中存储一个路径

执行:cd `cat /tmp/test/test.txt`   , 会先执行cat /tmp/test/test.txt得到结果返回,再执行cd命令切换目录。

3.文档工具

Linux提供两个访问文档的工具:man和info。Info格式较优于man格式,但man格式存在了几十年,许多程序只支持man格式。

3.1man命令

[man program_name]  program_name是程序的名字, 如:man ls

文档手册一般分为几部分(节) ,常见的1(标准命令、可执行程序),2(linux内核系统调用),3(C 库调用)等。

直接使用命令打开的一般是第一节(标准命令、可执行程序),如:man ls打开 ls(1)

想要引用其他部分可以在程序名前加上序号,如:man 3 printf,man 1 printf。

 使用man -f 可以搜索手册所有节的摘要信息和节号,如:man -f printf

注:按q键退出手册

3.2texinfo系统

是一种类似于超链接万维网格式的文档系统

[info program_name] 如:info wget

注:按q键退出手册

4.文件

4.1文件类型

  • 普通文件
  • 目录
  • 硬链接
  • 符号链接
  • 块设备
  • 字符设备

4.2所有权和权限管理

4.2.1列出文件:ls

ls选项说明
-l长清单,显示文件大小、日期、权限、所有权和组信息
-a所有文件。包括隐藏文件
-R递归列出所有文件和子目录
-t按最后修改时间的顺序列出文件

4.2.2更改所有权:chown

chown [-R] username filename         将文件名filename的所有权更改为用户username。

当filename为目录时使用 -R 选项,将目录及目录下所有文件的所有权更改。

4.2.3更改组设置:chgrp

chgrp [-R] groupname filename         将文件名filename的所在组更改为用户groupname。

-R 选项指定目录

4.2.4更改模式:chmod

权限:-rwx-rwx-rwx-        分别对应所有者、组、其他人的读、写、运行权限。

常见的二进制对应:

字母权限
---无权限0
r--只读4
rw-读、写6
rwx读、写、执行7
r-x读、执行5
--x仅执行1

 八进制权限:chmod [-R] numeric filename    如:chmod 700 FOO

符号形式权限:chmod [-R] chars filenam    如: chmod ug+x, o-rwx foobar.sh

chars代表符号组合:

  • 所有者、组、其他人对应u、g、o;a 对应所有人
  • + 代表赋予权力,- 代表收回权力,= 也是赋值权力,与+、-的区别是:+、-中未涉及的权限不变,而=中为涉及的权力会被擦除。
  • r、w、x分别代表读、写、执行

4.3文件管理

4.3.1复制文件: copy

cp [-f/-i/-R/-r] 源文件 目标文件         如: cp foo.txt foo.txt.html

选项说明
-f强制执行复制操作,不需要验证
-i交互式复制,在复制文件前,需要用户确认验证
-R,-r递归复制目录

注:覆盖同名文件时,使用-i选项,会有警告提示,需要确认才能继续复制。

4.3.2移动文件:mv

mv [-f/-i] 源文件 目标目录        如:mv  /tmp/foo.txt.html .   这里 . 代表当前目录。

选项说明
-f强制执行移动操作
-i交互式移动

4.3.3链接文件:ln

 ln original_file new_file 

ln 命令的常用选项 -s 创建符号链接(类似于快捷方式),如: ln -s foo.txt link-to-foo.txt

 4.3.4查找文件:find

find start_directory [options]  start_directory是搜索开始的目录,find的选项非常多,请查看参考手册。

如:find . -name core 查找当前目录中名为的core的文件

4.3.5文件打包与压缩:xz、zip、unzip、tar

打包跟压缩的区别:

打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩

xz

        压缩:xz filename                        就地解压,不保留源文件

        解压:xz --keep -d filename          --keep选项使得解压后,原压缩文件还在。

        注:使用方式相同(直接压缩和-d解压)的还有gzip、bzip2,后缀为gz和bz2,xz的后缀为xz

zip

        zip [参数] [压缩包名] [压缩的目录或者文件的路径]

        -m   将文件压缩后,删除原文件

        -r     递归压缩,将自定目录下的所有子文件以及文件一起处理

uzip

        unzip [参数] [压缩文件]  (-d [目录])  

                        //如果不是用括号里面的内容,则解压文件在当前工作目录 

tar

        tar [option]  filename

        -z    是否同时具有gz属性
        -j    是否同时具有bz2属性
        -J    是否同时具有xz属性
        -x    解压缩、提取打包的内容
        -t    查看压缩包内容
        -c    建立一个压缩,打包文档
        -v    显示压缩或者打包的内容
        -f    使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边
通常:压缩:tar -cf 目标文件名 原文件        如:tar -cf junk.tar junk

         解压:tar -xf 目标文件名                        如: tar -xf junk.tar

4.3.6创建目录:mkdir

mkdir 目录名

-p 选项通常指定当父目录不存在时,强制创建父目录。

4.3.7删除文件或目录:rm

rm [option] filename

注 :也可以使用流行的rmdir删除目录

4.3.8显示当前工作目录:pwd

4.3.9连接和显示文件:cat

cat filename 显示文本文件的内容

注:cat filename1 filename2 显示filename1和filename2的内容。

4.3.10一次一屏的显示文件:more或less

接收输入文件,如 : more /etc/passwd         或 less /etc/passwd

                                more阅读结束会回到shell,less阅读结束需要按q退出。

接受命令的输出,如:ls | more

4.3.11显示文件的目录位置:which

which 查找可执行文件名称,找到后返回文件所在路径。

如:which rm

        注:并非是过滤整个文件系统,只查找环境变量中PATH中指定的目录。

4.3.12定位命令:whereis

搜索PATH和MANPATH(man手册所在路径)环境变量中指定的位置,并显示程序位置、源文件位置和命令手册位置。

如: whereis grep

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值