初识Linux与Linux基础命令

目录

一.Linux的哲学思想

二.Shell

三.Shell与内、外部命令

1.Linux 命令执行的过程

2.内部命令和外部命令的区别

四.Linux命令行

1.Linux通用命令行格式

2.编辑Linux命令行的常用辅助操作

五.获得命令帮助

1.最便捷方法:百度

2.help

3.man手册(manual)

六.绝对路径和相对路径

七.Linux基本命令

查看切换显示统计目录

1.pwd(print work directory):显示当前路径

2.cd 目标位置 (change directory):切换目录

3.ls(list):列出指定目录下的所有文件

(内含七大文件类型)

4.通配符

5.alias:临时修改别名

6.du(disk usage):查看当前所在文件夹的总磁盘占用量

创建、复制、修改

7.mkdir(make directories):创建目录

8.touch:创建文件

9.硬链接文件ln(link)

10.软链接文件ln(link)

11.cp(copy):复制

12.mv:移动

13.rm:删除

14.shred:完全删除并添0

查找文件

15.find:查找文件

16.which:查找命令

17.locate:快速查找陈年旧文件


一.Linux的哲学思想

1.一切都是一个文件。(包括硬件,文本,二进制,源代码)
2.系统中拥有小型,单一用途的程序。(一个程序只负责做好自己的本职作)
3.当遇到复杂任务,通过不同功能用途的程序组合起来完成。轻量级,一台服务 dhcpip 数据库服务。
4避免令人困惑的用户界面就是没有复杂的图形界面。
5.连配置文件都存储在文本中,方便增删改查
6.不在乎后缀名,有没有都无所谓,不是通过后缀名来定义文件的类型

基础知识:

root          #表示用户 
localhost     #主机名
~             #家目录
#             #管理员用户
$             #普通用户
root          #root的家目录  
opt           #opt目录

二.Shell

1.Shell的定义

shell是Linux系统中后台运行的一种特殊程序,也可以理解成一种特殊的软件,提供了用户与内核进行交互操作的一种接口。

2.Shell的作用

Shell的作用:将人类使用的高级语言翻译成二进制。(在用户和内核之间充当“翻译官”

  1. 用户使用应用程序发布指令比如 (使用浏览器访问网页)
  2. Shell去通知操作系统需要进行什么样的操作(相当于解释层)
  3. 内核相当于操作系统去指挥硬件
  4. 硬件才能工作,否则无法交互。

在Centos7中默认的Shell是bin/bash。

三.Shell与内、外部命令

Shell 分为 内部命令外部命令

一般先执行 内部命令hash表 再执行外部命令别名最大)。

1.Linux 命令执行的过程:

当你执行命令时,首先去判断你是不是  别名 ,如果是  直接执行,
不是 判断是否是内部命令  ,如果是 直接执行,  
不是 去看hash表, 如果hash表有 直接执行,有 但是找不到 报错,
没有 去外部命令 规定的文件夹找命令,如果没有 报错。

别名>内部命令>hash表>外部命令

2.内部命令和外部命令的区别

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

四.Linux命令行

1.Linux通用命令行格式

命令字  [选项]  [参数]

注意点

  • 注意空格不要遗漏
  • 英文字符区分大小写
  • 命令字   是整条命令中最关键且唯一确定的部分
  • [选项]     短格式用-引导,通常 一个字母 ;长格式用--引导,通常完整的单词
  • [参数]     命令字的处理对象,可以是文件名、目录(路径)名或用户名等内容 ,个数可以是零到多个

2.编辑Linux命令行的常用辅助操作

快捷键功能
Tab键

如果结果唯一,按一次,自动补全

如果结果不唯一,按两次,显示所有结果

上下箭头回看之前执行的命令
Ctrl+C停止命令,取消本次命令编辑
Ctrl+l清屏
Ctrl+u清空至行首不包括当前光标处的 字符
Ctrl+k清空至行尾包括当前光标处的字符
Ctrl+a光标移到最前
Ctrl+e  或   end 键光标移到最后
反斜杠“\”强制换行 或 转义

五.获得命令帮助

1.最便捷方法:百度

百度是最快解决方式不拘泥形式

2.help

  • 内部命令

help 内部命令

如:
[root@localhost ~]# help echo
#内部命令查看帮助
  • 外部命令

外部命令 --help

如:
[root@localhost ~]# ls --help
[root@localhost dev]# useradd --help

3.man手册(manual)

man分九个章节默认打开第一章节;

第一章节:命令的解释,默认打开

[root@localhost ~]# man passwd 

第五章节:文件的格式

[root@localhost ~]# man 5 passwd 

六.绝对路径和相对路径

1.绝对路径:以 根(/) 开头的路径

/ 写在路径开头,代表根文件夹

/ 不在路径开头,代表分隔符

2.相对路径:不是以 根(/) 开头的路径

以 . 开头,代表以当前工作目录为起点

以 .. 开头,代表以上一级目录为起点

七.Linux基本命令

  • 查看切换显示统计目录

1.pwd(print work directory):显示当前路径

#显示当前路径

[root@localhost ~]# pwd      
#显示当前路径

[root@localhost bin]# pwd -P
/usr/bin
#-P 显示真实路径

2.cd 目标位置 (change directory):切换目录

#切换目录

命令效果

cd

cd ~

若不指定目标位置,切换到当前用户的宿主目录(家目录)
cd -若不指定目标位置,切换到当前用户的宿主目录(家目录)
一个点号“.”开头(自己)表示以当前的工作目录作为起点(已点开头的是)
两个点号“..”开头(上一级)表示以当前目录的上一级目录(父目录)作为起点
cd /etc/进入/etc/文件夹

例子:

[root@localhost ~]# cd /etc/
[root@localhost etc]# 

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

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

3.ls(list):列出指定目录下的所有文件

#显示文件和目录列表

格式:

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

  • -l                   

#以长格式显示文件和目录列表 ll=ls -l

  • -a                   

#显示全部包括隐藏文件

  •  -A                   

#显示全部文件或隐藏文件,但不包括 . 和..

  • -d                   

#仅列出目录本身,而不是列出目录内的文件数据

  • -h (human)

#友好显示文件大小,人性化

  • -R                   

#递归显示该目录及该目录的子目录下的所有内容

  • -t                   

#时间显示

  • -S                 

#以文件容量大小排序

  • -r                   

#倒序

ls -lrt /etc
#将/etc 下的文件和目录  按照建立时间顺序排列倒序显示
  • -i (inode)   

#身份证号,inode号

详细解释ls -l 即ll(内含七大文件类型)

例如:

 第1字段:普通文件

七大文件类型
-普通文件
d文件夹
l链接文件,快捷方式
p管道文件
s套接字
b块设备

c

字符文件

 第2字段:权限,读写执行

 第3字段:硬链接数

 第4字段:所有者

 第5字段:所属组

 第6字段:文件大小

 第7字段 :最后一次修改时间

第8字段:文件名

4.通配符

符号效果
匹配一个字符
*匹配所有非隐藏的字符无论多长多短,但不匹配 "." 开头的文件,即隐藏文件
{1..10}1到10
{A..Z}A B C .....Z
{a..z}a b c ...z

[123]

[此处括号里值代表一个字符]

取其中之一有就显示;

没有也无所谓

\转义符,表示原来的意思
[0-9]单个数字匹配数字范围(0123456789)
[[:lower:]]小写字母表示 a-z
[[:upper:]]大写字母表示 A-Z

例子:

[root@localhost data]# ls -a *
1
#不显示隐藏文件

[root@localhost data]# ls -a
.  ..  1
#显示隐藏文件

[root@localhost data]# ls *
# *不包括.开头的


[root@localhost data]# ls .*
#包括了 .. 上层目录中的文件

[root@localhost ~]# ls 1[[:lower:]]*                
#显示小写字母
1a1.txt  1e1.txt  1i1.txt  1m1.txt  1q1.txt  1u1.txt  1y1.txt
1b1.txt  1f1.txt  1j1.txt  1n1.txt  1r1.txt  1v1.txt  1z1.txt

[root@localhost ~]# ls 1[[:upper:]]*                 
#显示大写字母

5.alias:临时修改别名

#临时修改别名

  • alias 命令别名 = ’命令‘
[root@localhost dev]# alias myls="ls -alh"
  • unalias 别名命令 删除别名
[root@localhost dev]# unalias myvim 
[root@localhost dev]# myvim
bash: myvim: 未找到命令...
  • \加别名命令 (显示原始命令)
  • 永久修改 在/etc/.bashrc 会影响全部
  • 永久修改 在 /root/.bashrc只影响当前用户

6.du(disk usage):查看当前所在文件夹的总磁盘占用量

#查看当前所在文件夹的总磁盘占用量

格式:

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

  • -a

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

  • -s (Summarize )

#只统计所占用空间总的(Summary)大小,而不是统计每个子目录、文件的大小

  • -h

#人性化 显示

  • -d 几(--max depth)

#只看第几层

du -d 1 /var
#只显示/var目录下的第一层子目录的空间占用情况

注意点:

  • 注意-a -s无法同时使用
  • du和ll看到的文件大小是有区别的
  • du:所占磁盘大小(不足4k,按4k算)
  • ll:文件真实大小

  • 创建、复制、修改

7.mkdir(make directories):创建目录

#创建多个文件夹

格式:

mkdir  [选项]  目录位置及名称…

  • -p

#递归创建文件夹,没有文件夹,会自动递归创建

[root@localhost data]# mkdir -p aaa/bbb/cccc
# 递归创建文件夹 不需要aaa已存在 直接全部新建
  • -v

#显示过程

8.touch:创建文件

  • 文件名不存在,直接新建空文件
  • 文件已存在,不会破坏已有文件,刷新时间
[root@localhost data]# touch  1 2 3
#创建新文件,或空的新文件
[root@localhost data]# ls
1  2  3

每个文件有三个时间戳:

  1. access time 访问时间,atime,读取文件内容

  2. modify time 修改时间,mtime,改变文件内容(数据)

  3. change time 改变时间,ctime,元数据发生改变(元数据 文件大小 权限 )

9.硬链接文件ln(link)

同一个文件取不同的名或者叫多个名字(比如 苏轼 字子瞻 号东坡居士 苏二 谥号文忠 )不支持文件夹,创建一个链接数加一,多路径访问。

[root@localhost data]# cp /etc/passwd /data/f1.txt
[root@localhost data]# ls
f1.txt
[root@localhost data]# ln /data/f1.txt /data/f11.txt
#建立硬连接
#不能跨分区建立连接 无法对文件夹创建 

10.软链接文件ln(link)

类似于windows里快捷方式,软链接,符号链接,会指向原来的文件(快捷方式)。

 格式:

ln [-s] 源文件或目录… 链接文件或目标位置

加s是软连接 符号连接

  ln  -s /etc/passwd /mnt
#建立/etc/passwd 的软链接到  /mnt 目录

11.cp(copy):复制

#复制备份

格式:

  • cp [选项]… 源文件 目标

#相当改名复制 文件夹 文件相当于 改名字另存为

  • cp [选项]... 源文件... 文件夹

#多个源文件只能复制到文件夹

  • -f

#强制复制

  • -i

#有同名文件提醒覆盖

  • -p

#保留权限递归复制

  • -a

#更强大的保留权限

  • -r

#保留权限递归复制 文件夹一定要加

[root@localhost data]#cp -r /etc/   ./etc.bak
#将 etc  复制 并改名为      etc.bak

[root@localhost data]#cp -r /etc/   ./etc.bak
#将  /etc   变成  etc.bak  的 子文件夹

cp -a /etc /opt/
#保留所有权限 包括软链接文件将/etc/  文件夹  复制到   /opt/  目录下

12.mv:移动

#移动

  • -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;

  • -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项);

  • -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;

  • -v:显示文件或目录的移动过程;

13.rm:删除

#删除

格式:
rm  [选项]  要删除的文件或目录

  • -f、强制

  • -i、交互

  • -r 递归(删除目录需要)

14.shred:完全删除并添0

  • -z  最后一次覆盖添加0,以隐藏覆盖操作
  • -v   能够显示操作进度
  • -u   覆盖后截断并删除文件
  • -n    指定覆盖文件内容的次数(默认值是3次)

查找文件

15.find:查找文件

#查找文件

命令的特点:精确查找、实时查找、支持查找条件巨多

格式:

find   范围    查找的条件   处理动作

查找路径:指定具体目标路径;不指定为默认为当前目录

-f 普通

-d 目录

查找条件:可以对文件名、大小、类型、权限等标准进行查找;默认为找出指定路径下的所有文件

 处理动作:对符合条件的文件做操作,默认输出至屏幕(print)

-print   打印

-delete   删除

-exec   连接符

-ls       长格式显示


find /boot/  -size +1M -name “vm*”
#找到/boot文件夹下大于1M 且名字已vm开头的文件 


find  -inum   123456 -delete
#找到 indoe号 为123456 的文件并且删除

16.which:查找命令

#查找 命令 的具体位置

which ls
#查找ls命令的具体位置

17.locate:快速查找陈年旧文件

  • locate 查询系统上预建的文件索引数据库/ar/lib/mlocate/mlocate.db
  • 索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库
  • 索引构建过程需要遍历整个根文件系统,很消耗资源
  • locate和updatedb命令来自于mlocate包

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小啄学习日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值