Linux基本命令及配置

一、shell

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

  1. 在用户和内核之间之间充当“翻译官”

  1. 用户登陆Linux系统时,自动加载一个Shell程序

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

内核:用于调用计算机硬件资源

shell:将用户指令转换成计算机语言让内核去调用计算机硬件资源

bash是一个文件,linux系统中万物皆文件

bash文件位于/bin/bash

用户与内核进行交互过程如下:

1、计算机接收用户所输入的的命令

2、shell会将所接收到的命令转换成计算机所能识别的二进制语言

3、再将命令传递给系统内核执行

二、Linux命令分类

  1. shell与内、外部命令

shell 分为内部命令 和外部命令,一般先执行内部命令,hash 再执行外部命令(别名最大)

区别:

  • 内部命令属于shell的一部分,外部命令属于shell程序之外的命令。内部命令直接调用,外部命令会调用一个独立文件,内部命令比外部命令快

  • 内部命令属于shell的一部分(/bin/bash)没有单独的文件,外部命令一般由脚本文件或者二进制文件组成。

  • 内部命令自动加载,可以直接使用,外部命令系统必须要知道对应的文件位置(命令的环境变量),由shell进行加载后,系统才能识别该命令。

三、Linux内部命令

1、内部命令

  • type #查询内部外部指令

  • enable-n + 指令 #禁用内部指令

  • enable + 指令 #开启指令

  • help #帮助

ls --help #外部命令查询帮助

help cd #内部命令查询帮助

  • echo #shell内嵌/也可以是外部指令(给出具体命令所在)

  • hash #可以直接调取缓存中的指令

  • which + 指令 #查询指令所在路径与别名

2、命令行格式

命令字 空格 [选项] 空格 [参数]

干甚 做完美,干的马虎 干甚(对象)

命令字:唯一确定一条指令,是整条命令中最关键的部分

选项:长格式:使用“- -”符号引导;短格式:使用“-”符号引导

参数:用来处理对象;可以是文件名、目录(路径)名或者用户名等内容;个数可以是0到多个

3、Linux命令行的辅助操作

4、获得命令帮助的方法

内部命令help

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

命令的“–help”选项

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

使用man命令阅读手册

  • 可以使用方向键滚动文本

  • 使用Page Up和Page Down键翻页

  • 按Q或q键退出阅读环境

  • 按“\”键查找内容

例如:man cd | col -b > cdhelp.txt #查询帮助文档

#-b:过滤掉所有字符

5、pwd——查看当前的工作目录

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

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

cd /home #后面跟绝对路径,切换到home目录

cd ./home #后面跟相对路径,切换到home目录

cd ~ #切换到当前用户的家目录

cd #切换到当前用户的家目录

cd ~user #切换到某一个用户的家目录,只有root才行,别的用户只能在自己家

cd - #切换到上一次执行操作的目录

cd … #切换到上一层目录(父目录)

cd …/…/ #切换到父目录的父目录

绝对路径:以根开头的都是绝对路径(/home/kgc)

相对路径:以非根开头的都是相对路径,cd kgc

7、ls——列表显示目录内容

  1. 显示目录中内容,包括子目录和文件相关属性信息

ls【文件】【文件或目录…】

  1. 常用选项

l、-a、-A、-d、-h、-R、–color

  1. 结合通配符

“?”:代表任意一个字符,且至少一个

“*”:代表任意数个字符,可以是0个或者1个或者多个

  1. ls的常用选项

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

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

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

-i #显示inode值

-h #友好显示文件大小

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

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

颜色区别

白色:数据文件 txt

深蓝色:目录

白色(黑色):一般文件

绿色:可执行的文件(脚本/程序)

黄色:块设备文件

红色:压缩包

淡蓝色:链接文件/快捷方式

8、扩充

  • 普通文件

d 目录文件 directory

b 块设备文件 block

p 管道文件 pipe

s 套接字文件 socket

l 符号链接文件 link

rwx

r 代表文件可读

w 代表文件可写入可修改

x 代表文件可执行

有x权限文件会变成绿色

9、设置别名-alias

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

alias 命名别名 = 命令

示例:

命令:

alias #查看系统当前所有可用别名

alias ll=‘ls-lt’#设置别名

unalias #删除别名

vim /root/.bash 永久生效

(TIPS:)在定义别名时,等号两边不能有空格,否则shell不能决定您需要做什么。仅在命令中包含空格或特殊字符时才需要。

10、统计目录及文件空间占用-du

统计指定目录(或文件)所占用磁盘空间的大小

du [选项] [文件或目录…]

常用选项

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

  • -h:以更人性化的方式(默认以KB计数,但不显示单位)显示出统计结果

  • -s:只统计所占用空间总的大小,而不是统计每个子目录、文件的大小

示例:

  • 统计出/var/log目录所占用空间的大小

du - sh /var/log/

11、 创建新目录-mkdir

mkdir /opt/lianyilian #创建目录,注意:父目录必须存在

-p: 创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时,递归创建

mkdir {a..c} 添加a到c的目录

mkdir a{0..9} 添加f0.txt到f9.txt的目录

rmdir 删除一个空目录

案例:

12、创建空文件-touch命令

  • 更新文件的时间标记

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

touch 文件…

  • 示例

创建两个空文件,文件名

Example: touch aa bb

13.创建链接文件-link

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

  • 链接文件类型

  1. 软连接(快捷方式)

  1. 硬链接

硬软链接区别:

  1. 硬链接不能跨分区建立连接 无法对文件夹创建

  1. 删除硬件连接可以继续访问硬链接

  1. 软链接可以跨设备 可以支持文件夹

  1. 软链接删除源文件不能访问

  1. 软链接一般用在磁盘空间不够的时候

14、复制文件或目录-cp

将需要复制的文件或目录(源)重建一份,并保存为新的文件或目录

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

cp常用选项

-f:强制复制,不与用户交互

-i:提醒覆盖

-p:连属性一起复制

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

-a:保留权限,复制软链接本身,递归复制

注:复制多个文件或目录时,目标位置必须是目录,且目标目录必须已存在。

15.删除文件或目录 -rm

删除指定的文件或目录

rm【选项】要删除的文件或目录

常用选项

  • -f:删除文件或目录时不进行提醒,而直接强制删除。

  • -i:删除文件或目录时提醒用户确认。(y表示删除,n表示不删除)

  • -r:删除目录时必须使用此选项,表示递归删除整个目录树(谨慎使用)

  • 删除空目录:rmdir

注:不要直接删除系统中已有的目录或配置文件,以避免出现意外故障。

删除目录下文件时建议最好先切换到目录下再执行rm -rf命令。

16、移动文件或目录-mv

  • 将指定文件或目录转移位置

  • 如果目标位置与源位置相同,则相当于执行重命名操作

mv 【选项】…源文件或目录…目标文件或目录

  • 示例

mv mytouch mkfile

mv mkfile public_html/

当在同一目录下用mv就是改名,如果是跨目录使用mv的话就是移动,相当于剪切的操作

  • -f:如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。

  • -b:当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。无论多少次,生效的文件以最近的两次文件为准

  • - i:如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入y表示直接覆盖,输入n表示取消该操作。直接覆盖原有文件,n取消移动

  • -n::要覆盖任何已存在的文件或目录

  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

17、查找命令/文件存放目录-which

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

which 命令|程序名 #默认当查找到第一个目标后不再继续查找

which -a 命令|程序名 #在所有搜索路径中查找

示例

which is

which cd

  1. 查找文件或目录-find

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

不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示

  • -name 按名称查找

  • -size 按大小查找

  • -user 按文件属主查找

  • -type 按文件类型查找

  • 使用find命令实现多个查找条件

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

  • -a表示 而且(and)

  • -o表示 或者 (or)

设置find命令的查找条件时,若需要使用或通配符,最好将文件名用双引号括起来,以避免当前目录下符合条 find /boot -size+1024k-a/-o-name"vmlinuz*"使用"-a”-o”组合两个条件,前者表示两个条件必须同时满足,后者表示只需满足其中任何一个条件即可

Find工具-type参数案例:

find /data/ -type d #查找/data/目录下的文件夹;

find /data/ !-type d#查找/data/目录下的非文件夹;

find /data/ -type l #查找/data/目录下的链接文件。

find /data/ -type d | xargs chmod 755 -R#查目录类型并将权限设置为755;

find /data/ -type f l xargs chmod 644 -R#查文件类型并将权限设置为644;

扩展

可以和管道配合

find ./ -maxdepth1-typef-print0 l xargs-0 ls-lh -atime–访问时间

Linux中日志放在/var/log sylog

-mtime–文件内容修改时间

-ctime --文件属性修改时间

ctime ##以天为单位

cmin ##以分钟为单位

find./ -name"syslog.*.gz"-mtime-5 -exec ls-1h {} ;

#+5是五天以前 #-5天以内

在当前目录下(包含子目录),删除所有txt文件

find ./-name"*.txt"-exec rm{) \;

在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行

find ./-name"*.txt"-exec grep “bin” (} \;

找到backup中log类型的文件并删除(删除备份文件)

find /backup -type f -name “*.log” -exec rm {} \;

举例:

寻找etc中满足user且大于1M的:

寻找etc中是root或者大于1M:

四、总结

  • Shell是一种特殊程序

  • Shell在用户和内核之间充当“翻译官”

  • Linux命令的分类、格式及使用方法

  • Linux命令分为内部命令和外部命令

  • Linux常用命令

查看及切换目录(pwd、cd、ls、du)

创建目录和文件(mkdir、touch、ln)

复制、删除、移动目录和文件(cp、rm、mv)

查找目录和文件(which、find)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值