Linux的基础命令配置


前言

认识Shell
Shell是Linux系统中运行的一种特殊程序,在用户与内核之间充当“翻译官”的角色,为用户终端与内核之间提供交互平台,在用户登录LInux系统的时候会自动加载一个Shell程序,其中默认使用的Bash文件位于/bin/bash中。
用户与内核进行交互过程如下:

1、计算机接收用户所输入的的命令
2、shell会将所接收到的命令转换成计算机所能识别的二进制语言
3、再将命令传递给系统内核执行


一、Linux命令的分类

内部命令外部命令
内部命令是集成与Shell解释器内部的指令(built-in)属于Shell解释器之外的指令
没有单独的对应系统文件每个外部命令对应了系统的一个文件
自动载入内存,可以直接使用必须要知道其对应文件的位置,需要SHell加载后才能执行
执行速度快,不用调用进程调用进程速度慢,长时间不使用会释放(减速)

二、Linux基础命令

1、查看内部命令

代码如下(示例):

type		#查询内部外部指令
enable-n + 指令		#禁用内部指令
enable + 指令		#开启指令
help		#帮助
	#其中内部命令与外部命令是有区别的
	ls --help		#外部命令查询帮助
	help cd		#内部命令查询帮助
echo		#shell内嵌/也可以是外部指令(给出具体命令所在)
hash		#可以直接调取缓存中的指令
which + 指令		#查询指令所在路径与别名

2、命令行格式

通用命令行格式如下:
命令字	[选项]	[参数]

命令字:唯一确定一条指令,是整条命令中最关键的部分
选项:长格式:使用“- -”符号引导;短格式:使用“-”符号引导
参数:用来处理对象;可以是文件名、目录(路径)名或者用户名等内容;个数可以是0到多个

3、Linux命令行的辅助操作

	Tab键:自动补齐
	反斜杠“\”:强制换行(不影响该命令的操作)
	Ctrl+U:请控制行首
	Ctrl+K:清空至行尾
	Ctrl+L:清屏
	Ctrl+C:取消本次命令编辑
	Ctrl+A:至行首
	Ctrl+E:至行尾

4、获得命令帮助的方法

4.1内部命令help

查看Shell内部命令的帮助信息

4.2命令的“–help”选项

适用于大多数的 Linux的外部命令

4.3使用man命令阅读手册

可以使用方向键滚动文本;使用Page Up和Page Down键翻页;按Q或q键退出阅读环境;按“\”键查找内容

man cd | col -b > cdhelp.txt	#查询帮助文档
		#-b:过滤掉所有字符

5、目录与文件基本操作pwd

pwd		#显示用户当前所在工作目录位置

6、切换工作目录cd

绝对路径:以根目录开始——/home/kgc
相对路径:通过cd——>进入/home——>进入/boot(逐级进入目标文件)

cd		#进入当前所在目录根目录下的系统目录
cd~		#切换到家目录
cd+目录	#进入目标目录
cd-		#进入上一次的执行目录
cd ..	#返回上一层目录
cd ../../#返回上两层目录

7、列表显示目录内容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

8、别名设置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设置的短命令就又可以使用了

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命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化,同步在连接的文档中创建添加内容,原文件中也会有增加的内容
ln -s 源文件 目标文件
ln -s /root/123.txt /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、查找命令/文件存放目录which

搜索的范围由环境变量PATH决定

echo $PATH
which + 命令|程序名
或which -a 命令|程序名
例如:
which ls	#查询ls指令

17、查找文件或目录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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值