linux常见符号、操作和命令解释

一、shell是什么

shell 是一个接收由键盘输入的命令,并将其传递给操作系统来执行的程序。几乎所有的 Linux 发行版都提供shell程序,该程序来自于称之为 bash的GNU 项目。

终端仿真器:当使用图形用户界面时,需要另一种叫做终端仿真器(terminalemulator)的程序与 shelL 进行交互。

shell 复制文本:按住鼠标左键选中复制文本或双击选中一个词,右键粘贴复制的文本(切记:ctrl+c和ctrl+v 这是windows的操作方式,在shell下不生效)。

二、linux常见符号、操作解释、命令

2.1 . 和 …

​ 符号“.”代表工作目录,符号“…”代表作录的父目录。

2.2 cd 、cd- 、cd~username

​ cd :将工作目录改变成主目录。
​ cd-:将工作目录改变成先前的工作目录(上一个打开的目录)。
​ cd~username:将工作目录改变为 username 的主目录。例如cd~bob将目录改变成用户bob 的主目录。

2.3 ifconfig

​ 查看服务器IP:ifconfig —windows 是 ipconfig

三、linux 常见目录介绍

/ :根目录,一切从这里开始

/bin:包含系统启动和运行所必需的二进制文件(程序)包含 Linux 内核、最初的RAM 磁盘影像(系统启动时,驱动程序会用到),及启动加载程序。

/boot:有趣的文件;
/boot/grub/grub.conf或menulst,用来配置启动加载程序。
/boot/vmlinuz,Linux内核。

/dev:这是一个包含设备节点的特殊目录。“把一切当成文件”也适用于设备。内核将它能够识别的所有设备存放在这个目录里。

/etc:目录包含了所有系统层面的配置文件,同时也包含了一系列 shell 脚本,系统每次启动时,这些shell 脚本都会打开每个系统服务。该目录中包含的内容都应该是可读的文本文件。
/etc 目录中的有趣的文件如下:
/etc/crontab:该文件定义了自动化任务运行的时间。
/etc/fstab:存储设备以及相关挂载点的列表。
/etc/passwd:用户账号列表。

/home:在通常的配置中,每个用户都会在/home 目录中拥有一个属于自己的目录。普通用户只能在自己的主目录中创建文件。这一限制可以保护系统免遭错误的用户行为的破坏。

/lib:包含核心系统程序使用的共享库文件。这与 Windows 系统中的 DLL类似。

/opt:用来安装其他可选的软件。主要用来可能安在系统中的商业软件。

/proc:很特殊。从文件的角度来说,它不是在硬中的真正的文件系统反而是一个 Linux内核维护的虚拟文件系统它包含的文件是内核的窥视孔。该文件是可读的,从中可以看到内核是如何监管计算机的。

/root:root 账户的主目录

/sbin:该目录放置“系统”二进制文件。这些程序执行重要的系统任务,这些任务通常是为超级用户预留的。

/tmp:/tmp是供用户存放各类程序创建的临时文件的目录。某些配置使得每次系统重启时都会清空该目录。

/usr:/usr 目录可能是 Linux 系统中最大的目录。它含通用户使用的所有程序和相关文件。

/usr/bin:/usr/bin 目录中放置了一些 Linux 发行版安装的可执行程序。该目录通常会存储成千上万个程序。

/usr/lib:/usr/bin目录中的程序使用的共享库。

/usr/local:/usr/local目录是并非系统发行版自带,但却打算让系统使用的程序的安装目录由源代码编译好的程序通常安装在/usr/local/bin中。在一个新安装的Linux 系统中就存在这一个目录,但却是空目录,直到系统管理员向其中添加内容。

/usr/sbin:包含更多的系统管理程序。

/usr/share:里包含了/usr/bin 中的所使用的全部共享数据,这包括默认配置文件、图标、屏背、音频文件等。

/usr/share/doc:安装在系统中的大部分程序包包含一些文档文件。在/usr/share/doc 中,文档文件是按照软件包来组织分类的。

/var:除了/tmp 和/home 目录之外,目前看到的目录相对来说都是静态的;也就是说,其包含的内容是不变的。而那些可能改变的数据存储在/var 目录里。各种数据库假脱机文件、用户邮等都存在这。

/var/log:/var/log 目录包含的日志文件,记录了各种系统活动。这些文件非常重要,并且应该时不时地监控它们。其中最有用的文件是/var/log/messages。注意,为了安全起见,在一些系统里,必须是超级用户才能查看日志文件。

问题

​ 1.jdk,maven,git 工具安装到那个目录?/opt

​ 2.nginx类的其他软件安装在那?/usr/local /usr/share/doc

​ 3.系统运行日志在那个目录? /home/logs

​ 4.系统常用静态存储目录放哪?/usr/share

四、linux ls/less 命令

4.1 ls:列出目录内容

​ ls常用选项:-a (all)列出所有文件包含.开头的文件和隐藏文件;-l 列出文件的详细信息;

-r(reverse)相反的顺序显示;-S 按文件大小排序;-t 安修改时间排序。

ll -a  #查看所有文件
ll -tr #按时间倒序排列
ll -S  #按文件的大小排序
4.2 less :查看文本文件的程序

​ less 常用键盘命令:PAGEUP或b :后翻一页 ;PAGE DOWN或Spacebar :向前翻一页;

向上键:上一行;向下键:下一行;G 跳到文件末尾;g 跳到文件的开头;/ 查找字符 ;q 退出less。

五、操作文件与目录-cp/mv/mkdir/rm/ln

5.0 通配符

通配符:shell 提供一些特殊字符快速指定一组文件名;通配符允许用户依据字符模式选择文件名。

*:匹配任意多个字符(包括0个和1个);
?:匹配任一单个字符(不包括0个)
[characters]:匹配任意一个属于字符集中的字符
[!characters]:匹配任意一个不属于字符集中的字符
[[:class:]]:匹配任意一个属于指定字符类中的字符

常用的字符类

[:alnum:]:匹配任意一个字母或数字匹
[:alpha:]:配任意一个字母
[:digit:]:匹配任意一个数字
[:lower:]:匹配任意一个小写字母
[:upper:]:匹配任意一个大写字母
例子:

*       #所有文件
g*      #以g开头的任意文件
b*.txt  #以b开头,中间有任意多个字符,并以.txt 结尾的任一文件
Data??? #以 Data 开头,后面跟3 个字符的任一文件
[abc]*  #以abc 中的任一个开头的任一文
BACKUP[0-9][0-9][0-9] #以BACKUP开头,后面紧跟3 个数的任一文件
[[:upper:]] #以大写字母开头的任一文件
[![:digit:]] #不以数字开头的任一文件
*[[:lower:]123] #以小写字符或数字123结尾的任意文件
5.1 cp:复制文件和目录

​ cp item1 item2 :将单个文件或目录item1复制到文件或目录item2中;cp item… directory :将多个项目 (文件或目录)复制进一个目录中。

选项:

-a,–archive:复制文件和目录及其属性,包括所有权和权限。通常来说,复制的文件具有用户所操作文件的默认属性。
-i,–interactive:在覆盖一个已存在的文件前,提示用户进行确认
-r,–recursive:递归地复制目录及其内容。复制目录时需要这个选项(或-a 选项)
-u,–update:当将文件从一个目录复制到另一个目录时,只会复制那些目标目录中不存在的文件或是目标目录相应文件的更新文件。
-v,–verbose:复制文件时,显示信息性消息(informative message)。

cp filel file2   #将 file1 复制到fle2。如果fle2存在,则会被 fle1的内容盖。如果file2不存在,则创建fle2。
cp -i filel file2  #同上,区别在于当fle2 存在时,覆盖之前通知用户确认。
cp filel file2 dir1 #将file1 和fle2 复制到录 dir1 里。dir1必须已经存在。
cp dir1/* dir2 #通过使用通配符,将 dir1 中的所有文件复制的 dir2 中dir2必须已经存在
cp -r dir1 dir2 #将 dir1 目录(及其内容)复制到 dir2 中。如dir2 不在,创建dir2,且包含与 dir1目录相同的内容。
5.2 mv:移动或重命名文件和目录

​ mv item1 item2:将文件(或目录)item1移动(或重命名)为tem2;mv item… directory:将一个或多个条目从一个目录移动到另一个目录下。

选项:

i,-interactive :覆盖一个已存在的文件之前,提示用户确认。如果没有指定该选项,mv会默认盖文件。
-u,–update:将文件从一个目录移动到另一个目录,只移动那些目标目录中不存在的文件或比目标文件更新的文件。
-v,-verbose :移动文件时显示信息性消息。

5.3 mkdir:创建目录

​ mkdir dir1 :可创建单个 dir1目录;mkdir dir1 dir2 dir3:可创建3个目录,分别命名为 dir1、dir2 和 dir3。

5.4 rm:移除文件和目录

选项:

-r :递归删除目录。
-f:忽略提示强制删除。
-i:删除文件前,提示用户确认。
-v:删除文件时显示详细信息。

5.5 ln:创建硬链接和符号链接

​ ln file link:用来创建硬链接;In -s item link:用来创建符号链接, item 可以是文件也可以是目录。硬链接:不能引用与该链接不在同一磁盘的文件,硬链接无法引用目录。符号(软)链接:创建一个特殊类型的文件,指向文件或目录的文本指针(删除时删除的是链接本身其他时候都是目标文件及目录)。

六、命令的使用-type/which/man/whatis/alias

6.0 什么是命令?

可执行程序:像在/usr/bin 目录里看到的所有文件一样。在该程序类别中,程序可以编译为二进制文件,比如 C、C++语言编写的程序也可以是 shel1、Perl、Python、Ruby 等脚本语言编写的程序。
shelI内置命令:bash 支持许多在内部称之为shell builtin的内置命令。例如cd 命令就是 shel1 内置指令。
shell函数:shell函是合并到环境变量中的小型 shel1 脚本。
alias 命令:我们可以在其他命令的基础上定义自己的命令。

6.1 type:说明如何解释命令名。

​ type command :type 命令是一个 shell 内置命令,可根据指定的命令名显示 shell 将要执行的命令类型。

6.2 which:显示可执行程序的位置。

​ which 可以确定一个可执行文件的准确位置,只适用可执行程序,不使用内置命令(cd)和命令别名。

which java  #查看JDK安装位置
which mvn   #查看maven路径。
6.3 man:显示命令的手册页。

​ man 查看常用程序的适用文档,相当于用less 命令显示手册文档。使用方式:man program

– help:选项描述了命令支持的语法和选项。使用方式:cp --help;

6.4 whatis:显示一条命令的简述。

​ whatis 程序显示匹配具体关键字的手册页的名字和一行描述;

6.6 alias:创建一条命令的别名。

命令行技巧:通过使用分号来分隔多条命令,就可以将多条命令输入在一行中。例如:cd /usr; ls; cd - 可以查看到目录usr 下面的文件信息,并返回到原始目录下;

​ 可以通过alias命令把cd /usr; ls; cd - 整合成一条新命令(用 type 命令检测别名是否存在);使用方式:alias name=‘string’ ;例如:alias foo='cd /usr; ls; cd - '; 紧接着是一个等号(没有空格),等号之后是一个用单引号括起来的字符串,该字符串中的内容将赋值给 name。注意:shell 创建别名,当这次会话结束,别名就消失了。

七、重定向

7.0 标准输入、标准输出和标准错误

​ 输出包含两种类型:一种是程序运行的结果,即该程序生成的数据;另一种是状态和错误信息,表示程序当前的运行情况。标准输入(standard input,表示为 stdin):需要通过键盘输入。

标准输出重定向:I/O重定向功能可以重新定义标准输出内容发送到哪里。使用重定向操作符“>”,后面接文件名,就可以把标准输出重定向到另一个文件中,而不是显示在屏幕上。例如:ls -l /usr > ls-out.txt ;使用重定向符>>将使得输出内容添加在文件的尾部。如果这个文件并不存在,将与操作符>的作用一样创建这个文件。

标准错误重定向:文件流中对应标准输入文件、标准输出文件和标准错误文件,shell将它们的文件描述符为:0,1,2,shell 可以根据文件描述符重定向文件。由于标准错误文件的描述符是2,重定向标准错误可以为:ls -l /abc 2> l-error.txt。

将标准输出和标准错误重定向一个文件:两种方法可以:第一种是传统方式:Is -l /bin/usr > ls.output.txt 2>&1首先重定向标准输出到 ls-output.txt文件中,然后使用标记符 2>&1 把文件描述符 2(标准错误)重定向到文件描述
符1(标准输出)中。第二种:bash 提供了一种高效的方式联合重定向方式:ls -l /bin/usr &> ls-output.txt ,&>可以把标准输出和标准错误重定向到同一个文件中。

处理不想要的输出:有些时候命令执行完,我们并不希望得到输出,而是想把输出丢弃。系统提供了一种方法,即通过把输出重定向到一个称为/dev/null 的特殊文件中来实现它。这个文件是一个称为位桶(bit bucket)的系统设备,它接受输入是不对输入进行任何处理。例如:ls -1 /bin/usr 2> /dev/null

7.1 cat:合并文件

​ cat 命令读取一个或多个文件,并把它们复制到标准输出文件中;例如:cat ls-output.txt;

7.2 | 管道

命令从标准输入到读取数据,并将数据发送到标准输出的能力,是使用了名为管道的 shell 特性。使用道操作符“|”可以把一个准输出传送到另一个命令的标准输入中。格式为:Command1 |command2

7.3 sort:对文本行排序

ls /bin /usr/bin |sort | less :对两个目录的文件进行排序,最后输出。

7.4 uniq:报告或删除文件中重复的行

​ uniq 命令经常和sort 命令结合使用。uniq 可以接受来自标准输入或者一个单一文件名参数对应的已排好序的数据列表。例如: ls /bin /usr/bin |sort |uniq |less 去除重复的文件列表; ls /bin /usr/bin |sort |uniq -d|less :获取重复行。

7.5 wc(word count):打印文件中的换行符、字和字节的个数。

​ 查看已排好序的列表中的条目数: ls /bin /usr/bin |sort | uniq | wc -l ;

7.6 grep:打印匹配行

​ 配置符合条件的文本内容;格式如下: |grep “” 或 |grep zip

7.7 head/tail:打印文件的开头部分/结尾部分

​ 整行输出,前5行 :head -n 5 ls-output.txt ;尾部5行:tail -n 5 ls-output.txt;

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苹水相峰

你的打赏是对我最大的肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值