第一章、Linux基础命令

avatar
作者
猴君
阅读量:0

目录

一、shell

二、Linux命令

1、分类

2、命令行的格式

2.1通用的命令行使用格式

2.2编辑Linux命令行

2.3获得命令帮助的方法

3、常见基础命令

3.1查看当前工作目录-pwd

 3.2切换工作目录-cd

3.3列表显示目录内容-ls

3.4通配符

3.5设置别名-alias

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

3.7创建新目录-mkdir

3.8创建空文件-touch

3.9创建链接文件-ln

3.10复制文件或目录-cp

3.11查找命令文件存放目录-which

3.12查找文件或目录-find

3.13移动(重命名)文件或移动目录-mv

3.14删除文件或目录-rm


一、shell

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

2、在用户和内核之间充当“翻译官”

3、用户登录Linux系统时会自动加载一个shell程序

4、Bash是Linux系统中默认使用的shell程序

二、Linux命令

1、分类

内部命令外部命令
shell解释程序内的一些特殊指令,也称内建(Built-in)指令Linux系统中能够完成特定功能的脚本文件或二进制程序
属于shell的一部分属于shell解释器程序之外的命令
没有单独对应的系统文件每个外部命令对应系统中一个文件
自动载入内存,可以直接使用必须知道其对应的文件位置,由shell加载后才能执行
/bin,/user/bin,user/local/bin等

2、命令行的格式

2.1通用的命令行使用格式

命令字+【选项】+【参数】——英文字符区分大小写

命令字:整条命令中最关键的一部分

               唯一确定的命令

选项:短格式选项——使用“-”符号引导(多个单字符选项可以组合在一起使用)

                      例如:ls -a  查看所有文件

                                 ls -l   产看文件详细信息

            长格式选项——使用“--”符号引导

                       例如:ls--all  显示目录中的所有文件和子目录,包括隐藏文件,ls--all=l是-a

参数:命令字的处理对象

          可以使文件名。目录(路径)名或用户名等内容

          个数可以是零到多个

2.2编辑Linux命令行

编辑Linux命令行的辅助操作
Tab键自动补齐
反斜杠“\”强制换行
Ctrl+U清空至行首
Ctrl+K清空至行尾
Ctrl+L清屏
Ctrl+C取消本次命令编辑
Ctrl+a切换到行首
Ctrl+e切换到行尾

2.3获得命令帮助的方法

内部命令 help——查看shell内部命令的帮助信息

命令的“--help”选项——适用于大多数Linux外部命令

使用man命令阅读手册页——使用上下键翻页

                                       ——按Q或q退出阅读环境

                                       ——按反斜杠“\”键查找内容,n键向下查找,N键向上查找

例如man ls

3、常见基础命令

3.1查看当前工作目录-pwd

[root@xiaowang AA]# pwd
/root/BB/AA——当前工作目录的绝对路径

3.2切换工作目录-cd

命令注释示例用法
cdcd 目标位置——切换到目标位置[root@localhost ~]# cd project/
[root@localhost project]# ——切换到project目录
cd ~/cd——切换到当前目录的宿主目录(家目录)

[root@localhost project]# cd ~
[root@localhost ~]# 

[root@localhost project]# cd
[root@localhost ~]# 

cd - ——切换到上一次执行cd命令时所在的目录[root@localhost ~]# cd -
/root/project
[root@localhost project]# 

3.3列表显示目录内容-ls

ls【选项】+【目录或文件】ls ——列出当前目录中的所有文件和子目录[root@xiaowang /]# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
ls -a ——查看所有(all)子目录和隐藏文件信息[root@xiaowang ~]# ls -a
.   anaconda-ks.cfg  .bash_logout   .bashrc  .tcshrc
..  .bash_history    .bash_profile  .cshrc
ls -l ——以长格式显示文件详细信息(权限、大小、最后更新时间)[root@xiaowang ~]# ls -l
total 4
-rw-------. 1 root root 1423 Jul  8 23:08 anaconda-ks.cfg
ls -h ——人性化友好显示,目录或文件的大小,默认单位为字节(B)
ls -R ——以递归的方式显示指定目录及其子目录中的所有内容

[root@localhost project]# ls -R

.:
file4.txt  video

./video:
image

./video/image:
photo

./video/image/photo:

ls -i ——显示文件和目录的inode号[root@xiaowang var]# ls -i
134218951   adm  
ls -t ——以时间排序,最新的文件会排在上面
ls -r ——表示反向排序,倒序输出

3.4通配符

符号解释
“?”表示任意一个字符,有且只有一个字符
“*”表示任意数个字符,可以是0个或者1个或者多个
“【】”表示可以匹配字符组中的任意一个字符

示例用法

[root@xiaowang AA]# ls ab.txt  ac.txt  a.txt  bc.txt  b.txt  c.txt  [root@xiaowang AA]# ls a*.txt ab.txt  ac.txt  a.txt  [root@xiaowang AA]# ls a?.txt ab.txt  ac.txt  [root@xiaowang AA]# ls [ab].txt a.txt  b.txt

3.5设置别名-alias

通过别名机制简化常用的、比较长的命令

基本格式:alias+命令别名=‘命令’——“=”两边不能有空格

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

           alias myls=‘ls -alh’

取消别名unalias+命令别名

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

基本格式:du+选项+目录或文件

常用选项

选项说明
-a统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-h人性化友好显示出统计结果(默认以KB计数,但不显示单位)
-s至同统计所占用空间总的大小,而不是统计每个子目录、文件的大小
--max-depth=n统计所有小于等于第n层的目录的总大小

示例:统计出/var/log目录中子目录的大小

du -h --max-depth=1 //var/log

注意:du -ash不可用,条件相互冲突

3.7创建新目录-mkdir

基本格式:mkdir +选项+目录位置及名称

常用选项:-p——一次性创建递归的多层目录

示例:

在AA下创建BB,在BB下创建CC,在CC下创建DD,在DD下创建EE

[root@xiaowang AA]# mkdir -p BB/CC/DD/EE [root@xiaowang AA]# ls -R .: BB  ./BB: CC  ./BB/CC: DD  ./BB/CC/DD: EE  ./BB/CC/DD/EE:

3.8创建空文件-touch

基本格式:touch+文件

经常用于创建多个新的文件

示例:

在AA目录下创建名分别为aa 、bb、 cc的三个空文件

[root@xiaowang AA]# ls ab.txt  ac.txt  a.txt  bc.txt  b.txt  c.txt  [root@xiaowang AA]# ls a*.txt ab.txt  ac.txt  a.txt  [root@xiaowang AA]# ls a?.txt ab.txt  ac.txt  [root@xiaowang AA]# ls [ab].txt a.txt  b.txt

或者

[root@xiaowang AA]# touch {aa,bb,cc} [root@xiaowang AA]# ls aa  bb  cc

3.9创建链接文件-ln

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

链接文件类型:

①软链接(符号链接)——ln -s

②硬链接——ln

基本格式:ln 【-s】源文件或目录+链接文件或目标位置

示例:

软链接:为aa创建一个软链接1.txt

[root@xiaowang AA]# ls aa  bb  cc [root@xiaowang AA]# ln -s aa 1.txt [root@xiaowang AA]# ll total 0 lrwxrwxrwx. 1 root root 2 Aug  1 05:05 1.txt -> aa  【软链接指向源文件】 -rw-r--r--. 1 root root 0 Aug  1 04:37 aa -rw-r--r--. 1 root root 0 Aug  1 05:04 bb -rw-r--r--. 1 root root 0 Aug  1 04:37 cc [root@xiaowang AA]# rm -rf aa  【删除源文件】 [root@xiaowang AA]# ls 1.txt  bb  cc [root@xiaowang AA]# ll total 0 lrwxrwxrwx. 1 root root 2 Aug  1 05:05 1.txt ->  【软链接失效】 -rw-r--r--. 1 root root 0 Aug  1 05:04 bb -rw-r--r--. 1 root root 0 Aug  1 04:37 cc  [root@xiaowang AA]# ls -i 3358 1.txt  3355 aa  3356 bb  3357 cc  【inode号不同】

硬链接:为bb创建一个硬链接2.txt

[root@xiaowang AA]# ls aa  bb  cc [root@xiaowang AA]# ln -s aa 1.txt [root@xiaowang AA]# ll total 0 lrwxrwxrwx. 1 root root 2 Aug  1 05:05 1.txt -> aa  【软链接指向源文件】 -rw-r--r--. 1 root root 0 Aug  1 04:37 aa -rw-r--r--. 1 root root 0 Aug  1 05:04 bb -rw-r--r--. 1 root root 0 Aug  1 04:37 cc [root@xiaowang AA]# rm -rf aa  【删除源文件】 [root@xiaowang AA]# ls 1.txt  bb  cc [root@xiaowang AA]# ll total 0 lrwxrwxrwx. 1 root root 2 Aug  1 05:05 1.txt ->  【软链接失效】 -rw-r--r--. 1 root root 0 Aug  1 05:04 bb -rw-r--r--. 1 root root 0 Aug  1 04:37 cc  [root@xiaowang AA]# ls -i 3358 1.txt  3355 aa  3356 bb  3357 cc  【inode号不同】

软硬链接原理示意图

软硬链接的区别:

链接类型与源文件大小相比inode号文件属性删除源文件后
软链接(ln -s)不同不同指向源文件不能查看
硬链接(ln)相同相同独立文件正常查看

软硬链接优缺点:

软链接硬链接
优点可以跨文件系统,方便不重复占用空间(),不受源文件删除的影响
缺点占用inode空间,默认权限太大了、源文件删除软连接失效无法跨文件系统进行创建

3.10复制文件或目录-cp

基本格式:cp +选项+原文件或目录+目标问价或目录

常用选项:

选项说明
-p复制时保留源文件的权限、属主及时间标记等属性不变
-r递归复制所有文件及子目录,复制目录时必须使用此选项
-f覆盖目标同名文件或目录时不进行提醒,直接强制复制
-i覆盖目标同名文件或目录时提醒用户确认
-a完整保留所有的信息,包括连接文件,可以直接复制目录
注意:复制多个文件或目录时,目标位置必须是目录,且目标努力必须已经存在

示例:

将AA目录及子目录复制到BB目录里

[root@xiaowang ~]# ls AA  anaconda-ks.cfg  BB  my-dir [root@xiaowang ~]# cd AA [root@xiaowang AA]# ls aa  bb  cc [root@xiaowang AA]# cd .. [root@xiaowang ~]# cp -r AA BB [root@xiaowang ~]# cd BB [root@xiaowang BB]# ls AA [root@xiaowang BB]# cd AA [root@xiaowang AA]# ls aa  bb  cc

3.11查找命令文件存放目录-which

搜索范围由环境变量PATH决定(echo $PATH)

基本格式:

①.which +命令/程序名——默认当找到第一个目标后不在继续查找

②which -a +命令/程序名——在所有搜索路径中查找

示例:

查找ls命令所在位置

[root@xiaowang ~]# which ls alias ls='ls --color=auto'         /usr/bin/ls

3.12查找文件或目录-find

基本格式:find+【查找路径】+【查找条件】+【处理动作】

命令特点:精确查找、实时查找,遍历(慢)、支持查找条件较多

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

①“-a”——表示而且(and)

②“-o”——表示或者(or)

示例:

查找类型关键字说明
名称-name根据目标文件的名称进行查找,允许使用“*”及"?"通配符
文件大小-size根据目标文件的大小进行查找,一般使用“+”“-”来设置大于或小于指定的大小作为查找条件,常用的容量单位kB、MB、GB(注意区分大小写)
文件属主-user根据文件是否属于目标用户进行查找
文件类型-type

根据文件类型进行查找,常见类型有普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)、管道文件(p)、符号链接文件(l)、套接字文件(s)等

inode号-inum根据文件inodel号查找
权限-perm按文件权限查找
最大搜索目录深度-maxdepthlevel将文件以分级的形式查找
最小搜索目录深度-mindepthlevel同上

3.13移动(重命名)文件或移动目录-mv

基本格式:mv +选项+源文件或目录 +目标文件或目录

常见选项:

选项说明
-i在覆盖目标文件之前提示用户确认
-f强制覆盖目标文件,不提示用户确认
-u仅当源文件比目标文件新时才执行移动操作

示例:

将AA目录下的文件a.txt文件移动到BB目录中;将AA目录中b.txt文件移动到BB目录中并改名为B.txt

[root@xiaowang AA]# ls a.txt  b.txt  c.txt [root@xiaowang AA]# cd ../ [root@xiaowang ~]# ls AA  anaconda-ks.cfg  BB [root@xiaowang ~]# cd AA [root@xiaowang AA]# ls a.txt  b.txt  c.txt [root@xiaowang AA]# mv a.txt ../BB [root@xiaowang AA]# cd ../BB [root@xiaowang BB]# ls a.txt [root@xiaowang BB]# cd ../AA [root@xiaowang AA]# ls b.txt  c.txt [root@xiaowang AA]# mv b.txt ../BB/B.txt [root@xiaowang AA]# ls c.txt [root@xiaowang AA]# cd ../BB [root@xiaowang BB]# ls a.txt  B.txt

3.14删除文件或目录-rm

基本格式:rm +选项+目录或文件

常见选项:

选项说明
-i在删除文件或目录之前提示用户确认
-f强制删除文件或目录,不提示用户确认
-r 或 --recursive递归删除目录及其内容,会提醒用户确认
-rf强制递归删除目录及其内容,不提醒用户确认
-v显示详细信息,列出被删除的文件和目录
注意:谨慎使用-r-f选项,因为它们可能导致数据丢失

示例:

①rm -i

[root@xiaowang BB]# ls a.txt  B.txt [root@xiaowang BB]# rm -i a.txt rm: remove regular empty file ‘a.txt’? y [root@xiaowang BB]# ls B.txt

②rm -f

[root@xiaowang BB]# ls a.txt  B.txt [root@xiaowang BB]# rm -f a.txt [root@xiaowang BB]# ls B.txt

③rm -r

[root@xiaowang BB]# ls B.txt  CC [root@xiaowang BB]# cd CC [root@xiaowang CC]# ls c.txt [root@xiaowang CC]# cd ../ [root@xiaowang BB]# rm -r CC rm: descend into directory ‘CC’? Y rm: remove regular empty file ‘CC/c.txt’? Y rm: remove directory ‘CC’? Y [root@xiaowang BB]# ls B.txt

④rm -rf

[root@xiaowang BB]# mkdir CC [root@xiaowang BB]# ls B.txt  CC [root@xiaowang BB]# cd CC/ [root@xiaowang CC]# touch c.txt [root@xiaowang CC]# ls c.txt [root@xiaowang CC]# cd ../ [root@xiaowang BB]# rm -rf CC [root@xiaowang BB]# ls B.txt

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!