一、认识shell
Shell是Linux系统中运行的一种特殊程序,在用户与内核之间充当“翻译官”的角色,为用户终端与内核之间提供交互平台,在用户登录Linux系统的时候会自动加载一个Shell程序,其中默认使用的Bash文件位于/bin/bash中。
用户与内核进行交互过程如下:
1、计算机接收用户所输入的的命令
2、shell会将所接收到的命令转换成计算机所能识别的二进制语言
3、再将命令传递给系统内核执行
二、Linux基础命令
命令行格式
通用命令行格式如下:
命令字 [选项] [参数]
命令字:唯一确定一条指令,是整条命令中最关键的部分
选项:长格式:使用“- -”符号引导;短格式:使用“-”符号引导
参数:用来处理对象;可以是文件名、目录(路径)名或者用户名等内容;个数可以是0到多个
Linux命令行的辅助操作
Tab键:自动补齐
反斜杠“\”:强制换行(不影响该命令的操作)
Ctrl+U:清控制行首
Ctrl+K:清空至行尾
Ctrl+L:清屏
Ctrl+C:取消本次命令编辑
Ctrl+A:至行首
Ctrl+E:至行尾
1.查看主机名 hostname
[root@localhost ~]# hostname
localhost.localdomain
2.修改主机名 hostname XX
[root@localhost ~]# hostname XX
[root@localhost ~]# hostname
XX
3.查看网卡信息 ifconfig
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.177.3 netmask 255.255.255.0 broadcast 192.168.177.255
inet6 fe80::7d24:efd8:b2bf:3587 prefixlen 64 scopeid 0x20
ether 00:0c:29:d2:ba:b2 txqueuelen 1000 (Ethernet)
RX packets 847 bytes 63127 (61.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 175 bytes 16073 (15.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
3.查看网关信息 route -n
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.177.2 0.0.0.0 UG 100 0 0 ens33
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
192.168.177.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
4.查看当前所处路径 pwd
[root@localhost ~]# pwd
/root
5.切换工作目录cd
绝对路径:以根目录开始——/home/kgc
相对路径:通过cd——>进入/home——>进入/boot(逐级进入目标文件)
cd #进入当前所在目录根目录下的系统目录
cd~ #切换到家目录
cd+目录 #进入目标目录
cd- #进入上一次的执行目录
cd … #返回上一层目录
cd …/…/#返回上两层目录
6.列表显示目录内容ls
ls [选项] [文件或目录…]
ls #显示目录中的内容,包括子目录和文件的相关属性
#常用选项如下:
ls -l(ll–别名)#显示以列表的形式
ls -d #查看目录本身信息或者旗下内容
ls -h #查看大小(友好显示)
ls -i #显示iNode值
ls -a #遍历所有文件及目录
ls -A #区别于-a不列出上一级目录和当前目录
ls -lt #显示文件时间的排序
#ls命令还可以组合查看相应目录,如:
ls -lh /etc/sysconfig/
#结合通配符
##“?”匹配文件名中的一个位置字符
ls -lh cd?1
##“”匹配文件名中的任意多个未知符
ls -lt /home/a.txt
7.别名设置alias
可以通过别名机制简化常用的、比较长的命令设置成便于记忆和操作的指令
alias net=‘vi /etc/sysconfig/network-scripts/ifcfg-ens33’
#将vi /etc/sysconfig/network-scripts/ifcfg-ens33简化成net
unalias #删除你所设置的简称命令
每次重启你的虚拟机都会重置我们原先设置的简化命令,我们可以通过 /etc/bashrc 或者 ~/.bashrc文件去进行对alias命令的永久保存,最后执行下 source /etc/bashrc 或source~/.bashrc命令 alias设置的短命令就又可以使用了
8.查看命令路径 which
[root@localhost ~]# which type
/usr/bin/which: no type in (/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:
/bin:/sbin:/root/bin) –内部命令无路径
[root@localhost ~]# which find
/usr/bin/find
9.统计目录寄文件空间占用情况du
统计指定目录(或文件)所占用磁盘空间的大小
-a或-all #显示目录中个别文件的大小。
-h或–human-readable #以K,M,G为单位,提高信息的可读性。
-k或–kilobytes #以1024 bytes为单位。 (默认就是kb)
-m或–megabytes #以1MB为单位。
-s或–summarize #仅显示总计
du -sh * #友好显示全部文件大小
统计出/var/log目录所占用的空间
du -sh /var/log
10.创建新目录mkdir
创建新的目录
mkdir [选项] 目录位置及名称
mkdir -p #-p 确保目录名称存在,不存在的就建一个
mkdir {1…10} #创建多个账号1~10
11.创建文件touch
touch + 文件 #创建文件
touch aa bb #创建两个空文件aa和bb
touch {a,b,c,d,e,f}.txt #创建多个txt文件
12创建链接文件ln
12.1软连接
#ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化,同步在连接的文档中创建添加内容,原文件中也会有增加的内容
opt/123.txt #在/opt中做一个123.txt的软连接
12.2硬链接
#它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间(一般磁盘空间不够的时候使用软连接,导入数据到挂载点)
#没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化
ln young.txt text.txt #创建一个young.txt的硬链接文件text.txt
#如果你用ls察看一个目录时,发现有的文件后面有一个->的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。硬链接——等于复制文件,不会显示连接通道
12.3软连接与硬连接的区别
硬链接不能跨分区建立连接 无法对文件夹创建
删除硬件连接可以继续访问硬链接
软连接可以跨设备 可以支持文件夹
软连接删除源文件不能访问
13.复制文件或目录cp
将需要复制的文件或目录(源)重建一份,并保存,格式为:cp [选项]…源文件或目录…目标文件或目录…
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-a 保留权限(递归复制)
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
#取消默认的覆盖(alias中的cp -i),然后再cp复制
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。
cp a.txt{,.bak} #复制多个文件
14.删除文件或目录rm
删除指定文件或目录
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。
如果需要删除文件夹需要进行递归删除
例如:
rm -rf ./* #删除当前目录下所有
#./:当前目录
#/:根目录
15.移动文件或目录mv
将指定的文件或目录转移位置,如果目标位置与源文件位置相同,则相当于执行重命名操作,如果目标目录有同名的文件或目录,不加任何参数会直接覆盖
-f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
-b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。无论多少次,生效的文件以最近的两次文件为准
-i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。 y直接覆盖原有文件,n取消移动
-n: 不要覆盖任何已存在的文件或目录。
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
16.查找文件或目录find
find [查找范围] [查找条件表达式]
-name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。
#使用find命令实现多个查找条件:
-a :表示同时满足前后两个条件
-o :表示前后条件只满足其一
例如:
find /etc/ -user root -a size +1M #满足root且要求大于1M
find /etc/ -user root -o size +1M #满足root或者大于1M
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/76580.html