Linux基本操作命令

Linux基本操作命令

  • 1.shell学习
    • 1.1 什么是shell?
    • 1.2 shell的优点
  • 2.Linux命令的分类
    • 2.1 Linux命令的格式
    • 2.2 绝对路径 vs相对路径
  • 3.列表显示目录内容ls
  • 4.在xshell中用ls查看文件时颜色表示:
  • 5. 设置别名-alias
  • 6. 统计目录及文件空间占用情况-du
  • 7.创建新目录-mkdir
  • 8.创建空文件-touch命令
  • 9.创建链接文件-ln
  • 10.复制文件或目录-cp
  • 11.删除文件rm
  • 12.移动文件或目录——mv
  • 13.查找文件或目录-find
  • 14.查找命令、文件存放目录-which

本章结构
1.Linux命令基础
2.Linux命令帮助
3.目录与文件基本操作

1.shell学习

重点:内核 是用来识别二进制的(相当于操作系统)

1.1 什么是shell?

(特殊程序:即软件eg:吃鸡、qq) Shell为什么能自动加载【以上解释】
用户输入命令——解释命令(翻译成计算机能识别的语言)是用户和内核之间的翻译官——进入内核(内核执行调用我们的硬件)【之前是shell的运行过程】——用户登录Linux系统之后——shell自动加载一个程序——这个程序是在/bin/bash下的。

1.Linux系统中运行的一种特殊程序

2.在用户和内核之间充当翻译官

3.用户登录Linux系统是自动加载一个Shell程序

4.Bash是Linux系统中默认使用的Shell程序

5.文件位于/bin/bash

Linux基本操作命令_第1张图片

1.2 shell的优点

shell是Linux系统中后台运行的一种特殊程序也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。
用户使用应用程序发布指令比如(使用浏览器访问网页)
shell去通知操作系统需要进行什么样的操作(相当于解释层)
内核相当于操作系统去指挥硬件,硬件才能工作,否则无法交互。
1.一切都是一个文件。(包括硬件)
2.系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职工作)
当遇到复杂任务,通过不同功能用途的程序组合起来完成。
3.避免令人困惑的用户界面就是没有复杂的图形界面。
4.连配置文件都存储在文本中,方便增删改查。
5.不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型。

2.Linux命令的分类

Linux基本操作命令_第2张图片
###查看内部命令

type -a可以显示所有可能的类型,比如有些命令如pwd是shell内建命令,也可以是外部命令;
type -p只返回外部命令的信息,相当于which命令;
type -f只返回shell函数的信息;
type -t只返回指定类型的信息
help
Enable
type
禁用内部命令enable -n
[ root@localhost / ]# type cd 
cd是shell 内嵌     //内嵌代表内部命令
[root@testl ﹔ ]type  ls
Ls 是ls--color=auto 的别名
[root@testl ﹔ ]type  -a  ls
Ls 是ls--color=auto 的别名   //别名代表外部命令
ls是/usr/bin/ ls            //外部命令会有程序路径
[root@localhost / ]# where is  //whereis可以查找命令具体的位置所在
ls: /usr/bin/ls /usr/share / man/ man1/ls.1.gz / usr/share/ man/ man1p/ls.1p .gz
[ root@localhost~]type -a echo
echo是shell内嵌
echo 是/usr/bin/echo

Linux基本操作命令_第3张图片
外部命令就相当于开启一个进程 ,这个可想而知,那我们平时又怎么区分内部命令和外部命令呢?只需要在命令前加上一个type和空格

外部命令存放于echo  $PATH一个一个找,找到为止,找不到就报无命令
[root @localhost~] # echo $PATH
/usr/local/sbin:/ usr/local/sbin:/ usr /sbin : /root/bin
外部命令使用过后会被记录在内存(缓存,但是会占用内存,临时性的)加快读取速度
[ root@localhost~]# Lype useradd
useradd是/ usr / sbin/ useradd
[root@localhost~]useradd wu
[root@localhost~]# type useradd
useradd`己被哈希`(/usr/sbin/useradd)[root@localhost~]# hash  //或者使用hash

[root@localhost~]#hash //清楚dd命令缓存-r全清
[root@localhost~]#hash

[root@localhost~]which ping//外部命令的磁盘路径-a所有
/usr/bin/[root@localhost ~jt which help//内部命令找不到
/ usr/bin/ which: no help in (/usr/local/sbin:/usr/local/sbin:/ usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost~]# **where is echo** //相关文档的帮助的命令
echo: /usr/bin/echo / usr/ share/man/man1/echo.1.gz /usr/share / man/ manlp/ echo.lp.gz

2.1 Linux命令的格式

通用的命令行使用格式**:

命令字 (空格)   {选项}   (空格) {参数}

命令字

1)是整条命令中最关键的一部分

2)唯一确定一条命令

选项

1)短格式选项:使用-符号引导 通常引导一个字母

2)长格式选项:使用- -符号引导 通常引导一个完整的单词

参数

1)命令字的处理对象

2)可以是文件名、目录(路径)名或用户名等内容

3)个数可以是零到多个
Linux基本操作命令_第4张图片
Linux基本操作命令_第5张图片

编辑Linux命令行
编辑Linux命令行的辅助操作

Tab建:自动补齐

反斜杠\:强制换行

Ctrl+U组合键:清空至行首

Ctrl+K组合键:清空至行尾

Ctrl+L组合键:清屏

Ctrl+C组合键:取消本次命令编辑

Ctrl+E组合键:光标到尾

Ctrl+A组合键:光标到首

获取命令的帮助方法

内部命令help
查看Shell内部命令的帮助信息
eg:help cd

命令的- -help选项
适用于大多数Linux外部命令
eg:ls - -help

使用man命令阅读手册页

使用↑、↓方向键滚动一行文本

使用Page Up和Page Down键翻页

按Q或q键退出阅读环境

按\键查找内容

Linux基本操作命令_第6张图片

1、命令帮助help和--help
显示命令的帮助信息,命令的参数和用法等

```bash
2、 man手册的使用
linux的命令手册大全
用法:man cd

**查找翻页**
n向下  ; N问上

Man ls |col -b > lshelp.txt
在这个例子中,col是个命令程序,用于过滤文本中的一些特殊控制字符:
另外还使用了"|""">"符号

管道: 用竖杠符号"|“表示,用于将前面命令的屏幕输出结果作为后面命令的操作对象(输入),就好像一根管道一样
重定向输出: 用大于符号”>“表示,前面的命令成功执行以后,其屏幕输出结果将保存到”>"号后边指定的文件中。
Linux基本操作命令_第7张图片

目录和文件的管理命令
查看当前工作目录: pwd
[ root@localhost ~]#pwd/ root

切换工作目录: cd(相对路径、绝对路径)

cd /home  #后面跟绝对路径,切换到home目录
cd ./home  #后面跟相对路径,切换到home目录
cd ~   #切换到当前用户的家目录
cd     #切换到当前用户的家目录
cd ~user  #切换到某个用户的家目录,只有root才行,别的用户只能在自已家。
cd  -    #切换到上一次执行操作的目录
cd  ..   #切换到上一层目录(父目录)
"."表示当前目录 cd 代表移动到后面指定的目录位置
cd . 就表示的意思是移动到当前目录
eg:而".." 代表上一层目录,比如我现在在/opt/abc/bc/c 这个位置,那么cd ..就是到/opt/abc/bc/目录(我以绝对路径方式解释)

思考:如何切换到父目录的父目录(cd …/ …/)

2.2 绝对路径 vs相对路径

Linux基本操作命令_第8张图片
在这里插入图片描述
只要从根开头的都是绝对的,其余的都是相对的。

绝对路径:eg:/home/kgc
相对路径:eg: cd|home|cd kgc

3.列表显示目录内容ls

操作 功能 要执行的对象

-l#将文件信息属性详细列出,通常直接使用ll因为设置了别名

-R#递归现实,比如一个目录下还有文件,则把那个文件也一起列出

-d#查看目录本身信息,不显示目录下的内容

-i#显示inode值

-h#友好显示文件大小

-a#遍历所有文件及目录
(ls内定将文件名或目录名称开头为“.”的视为隐藏档,不会列出)

-A#跟-a唯一的把不同是不列出当前目录和上一层目录

eg1:  ls -lh /dev/sd?1
?代表一个未知字符;显示Dev下的sd?1的文件
e:2:ls -lh /etc/ns * .conf
*代表:任意多个未知字符;显示ns开头的.conf文件
eg3:
drwxr-xr-x 3 root root 16 821 10:39 aa
其中d 代表文件类型  eg:d是目录 -是普通文件
第2-9(rwxr-xr-x)字母表示该文件的权限
root表示 文件所有者
root表示 文件所属组
16 表示  文件大小
21 10:39 表示 文件的最近使用时间
aa  表示 文件或目录名称


扩充:
- 普通文件
d 目录文件directory
b 块设备文件block
p 管道文件pipe
s 套接字文件 socket
l 符号链接文件link

Linux基本操作命令_第9张图片
Linux基本操作命令_第10张图片
Linux基本操作命令_第11张图片

4.在xshell中用ls查看文件时颜色表示:

黑色 代表数据文件
黄色 块设备文件
白色 数据文件TXT
绿色 可执行文件
红色 压缩包
蓝色 目录(文件夹)
天蓝色 连接文件(快捷方式)
粉色 图片

Linux基本操作命令_第12张图片
结合通配符

?:匹配文件名中的一个未知字符 eg:f?.txt
* :匹配文件名中的任意多个字符[常用]
{1..10}:1到10
{a..z} ;a b c...z
{A..Z} :A B C ..Z
【123】:取其中之一;有就显示没有也无所谓
【a-z】:范围需要注意
【0-9】:匹配数字范围(0123456789)
\:转义符,表示原来的意思
[[:lower:]] :小写字母表示 a-z
[[:upper:]] : 大写字母表示A-Z
[^zhou] :匹配列表中的所有字符以外的字符
[[:diqit:]]  :任意数字,相当于 0-9

5. 设置别名-alias

通过别名机制简化常用的比较长的命令
1.alias 别名=’原命令 -选项/参数’
需要临时修改别名以便于使用时,格式为:alias(空格)命令名=‘别名’。

[root@localhost ~]# alias net='vim /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@localhost ~]# net

Linux基本操作命令_第13张图片
做完这个操作之后需要重新启动网卡:
systemctl restart network #重启所有的网卡

alias   //查看系统当前所有可用别名
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

alias ll='ls -lt'  ###设置别名
这样设置了ls -lt命令的别名是ll,在终端输入ll时,则相当于输入了ls -lt命令。

注意: 在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要引号。如果键入不带任何参数的alias 命令,将显示所有已定义的别名。
2.查看已经设置的别名列表
  alias -p1
3.删除别名
格式:unalias 别名1
eg:unalias ll #删除别名
永久生效
vim/root/.bashrc
临时修改
-   alias命令别名=命令
-   unalias 别名命令  //删除别名
-   \加命令 原始命令

示例
设置myls为ls-alh的别名

alias myls=‘ls -alh’

6. 统计目录及文件空间占用情况-du

统计指定目录所占磁盘空间的大小
du【选项】【文件或目录…】

常用选项

-a 统计磁盘空间占用时包括所有的文件,而不仅仅只同级目录

-h 以更人性化的方式显示出统计结果

-s 只统计所占用空间总的大小而不是统计每个子目录文件的大小
du -a     统计所以文件目录
Du -ah  以更友好的方式统计出结果
Du -sh   显示当前目录大小
Du -sh kgc/  查看课工场目录大小
Du -sh *     看某个文件多大
Du -sh /etc/   查看所有文件大小

**示例**
统计出/var/log目录所占用空间的大小
du -sh /var/log/

在这里插入图片描述

7.创建新目录-mkdir

创建新的空目录


mkdir【选项】目录位置及名称...

p:一次性创建嵌套的多层目录
eg:在当前目录下创建名为public_zzh的子目录
mkdir public_zzh
2.创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc
mkdir -p /aa/bb/cc

-p 是从属关系是嵌套的,没有-p就是在同一目录下
若想用tree命令查看树形结构

首先应该 ping www.baidu.com
               yum install 
               pwd
               ls -R ky19/   或者 tree ky19/

Linux基本操作命令_第14张图片
Linux基本操作命令_第15张图片
在这里插入图片描述
Linux基本操作命令_第16张图片
Linux基本操作命令_第17张图片

8.创建空文件-touch命令

1.更新文件的时间标记
2经常用于创建多个新的空文件
      touch 文件...
eg:创建两个空文件,文件名分别为aa和bb
      touch aa bb

Linux基本操作命令_第18张图片
在这里插入图片描述
Linux基本操作命令_第19张图片
在这里插入图片描述

9.创建链接文件-ln

为文件或目录建立链接文件,类似于Windows系统的快捷方式
链接文件类型

软连接(又称为符号链接)

硬链接

ln 【-s】源文件或目录...链接文件或目标位置

在这里插入图片描述
Linux基本操作命令_第20张图片
Linux基本操作命令_第21张图片
Linux基本操作命令_第22张图片

10.复制文件或目录-cp

源文件复制到目标文件
cp【选项】…源文件或目录…目标文件或目录…

常用选项

-f 覆盖目标同名文件或目录时不进行提醒,直接强制复制

-i 覆盖目标同名文件或目录时提醒用户确认

-p 复制时保持源文件的权限、属主及时间表及等属性不变

-r 复制目录时必须使用此选项,表示递归复制所有文件及子目录

Linux基本操作命令_第23张图片
Linux基本操作命令_第24张图片
简单来说就是因为:文件夹里面不可以建文件

11.删除文件rm

-i 删除文件或目录时提醒用户确认

-r 删除目录时必须使用此选项,表示递归删除整个目录树

-f 删除文件或目录是不进行提醒而直接强制删除
常用的用法:rm -rf /*
删除空目录 :rmdir

Linux基本操作命令_第25张图片
Linux基本操作命令_第26张图片

12.移动文件或目录——mv

格式:    mv  [选项]  源文件或目录 目标文件或目录

情况1:源位置与目标位置相同时,相当于执行重命名操作
Linux基本操作命令_第27张图片
情况2 :跨目录移动(把原本根目录下的7.log移动到home的zzh目录下)

在这里插入图片描述

13.查找文件或目录-find

采用递归方式根据目标的名称、类型、大小等不同属性进行精细查找

格式:find [查找范围] [查找条件表达式](查找范围必须在前面)
及时查找、精确查找、支持查找的条件比较多
同时使用多个条件查找时,可用逻辑运算符

各表达式之间使用的逻辑运算符

-a 表示而且 (and)

-o 表示或者(or)

常用查找条件类型

按名称查找 -name 根据目标文件的名称进行查找允许使用通配符

按文件大小查找 -size 根据目标文件的大小进行查找,使用+ - 设置超过或小于指定的大小为查找条件

按文件属主查找-user 根据文件是否属于目标用户进行查找

按文件类型查找 -type 文件类型包括普通文件(f)目录(d)块设备文件(b)字符设备文件(c)

案例1:
-name :根据目标文件进行查找,允许使用“*”及“?”通配符
Linux基本操作命令_第28张图片
-type: 根据目录文件的大小进行查找,一般使用“+“ “-”号设置超过或小于你指定的大小作为查询条件。
Linux基本操作命令_第29张图片
-user: /home 是非管理员用户的家目录,管理员用户的家目录在/root
Linux基本操作命令_第30张图片
在boot目录里查找尺寸大于1的 **-o代表或者**
或者 名字里面包含root的
Linux基本操作命令_第31张图片
-ok ?   -ecec?

格式: 
-exec COMMAND {} \:  (查找到的每个文件执行COMMAND指定的命令)
-ok COMMAND {} \  (对于每个执行文件之前,都会交互式要求用户确认)
{}:用于引用查找到的文件名本身

find /var/ -mtime +10 -name “*.tar.gz” -exec rm -rf {} \ ;

14.查找命令、文件存放目录-which

格式:which 命令/程序名  或者   which -a 命令|程序名
搜索环境变量由PATH决定,默认找到第一个后就不再继续

情况一:
在这里插入图片描述
情况二:
在这里插入图片描述
小插曲:

**`当我们不知道一个命令是什么意思的时候就可以用whatis(空格)命令查询,查询命令名称——whatis ** 

例如:
在这里插入图片描述
测试网络连接

ping 
traceroute	(静态跟踪)
mtr			(动态跟踪)

重启系统

reboot		
init 6
shutdown -r now

关机

poweroff
init 0
shutdown -h now
shutdown -c

小知识:
给命令行提示字符加颜色

PS1="\[\e[1;34m\][\u@\h \W]\\$\[\e[0m\] "

PS1="\[\e[1;35m\][\[\e[1;34m\]\u\[\e[1;36m\]@\[\e[1;34m\]\h \[\e[1;31m\]\w\[\e[1;35m\]]\[\e[1;36m\]\\$\[\e[0m\] "

\[\e[1;35m\][ ====> 定义左边的"["
\[\e[1;34m\]\u ====> 定义用户名
\[\e[1;36m\]@ ====> 定义"@"
\[\e[1;34m\]\h ====> 定义第一个点(.)之前的主机名
\[\e[1;31m]\w ====> 定义目录完整路径
\[\e[1;35m]] ====> 定义"]"
\[\e[1;36m\]\\$ ====> 定义"#""$"
\[\e[0m\] ====> 一段不显示字串的结束

【总结】
cp的高级用法:cp -v file.txt{,.bak}用于备份
sudo yum -y install tree下载树状图命令

Linux常用命令:

 查看及切换目录(pwd、 cd、 ls、 du)
 创建目录和文件(mkdir、 touch、 ln)
 复制、删除、移动目录和文件(cp、 rm、 mv)
 查找目录和文件(which、 find)
 重启(init 6

喜欢记得给小编点个小心心哦!
记得关注我哦!

你可能感兴趣的:(Linux基础,linux)