初始Linux

一.Linux概述

1.1、什么是Linux

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。

1.2、Linux的优点

1.一切都是文件(包括硬件)
2.当遇到复杂任务,通过不同功能用途的程序组合起来完成
3.不在乎后缀名
4.连配置文件都存储在文本中,方便增删改查
5.避免了用户界面
6.系统中拥有小型,单一用途的程序

二.Linux命令基础

2.1、命令格式

命令 空格 选项 空格 参数
短格式选项:使用 - 符号引导 通常一个字母
短格式选项:使用 - - 符号引导 通常一个完整的单词
参数:文件名、目录;命令字的处理对象、个数可以是零或者多个

2.2、Shell

Shell:Linux系统中运行的一种特殊程序。
在用户和内核之间充当“翻译官”,用户开启后会自动开启,Bash是Linux默认使用的Shell程序,文件位于/bin/bash

2.3、Linux常用快捷键

; 可以隔开命令,执行多个命
Tab 自动补全
反斜杠\ 强制换行
Ctrl+a 光标移到最前
Ctrl+e (end) 光标移到最后
Ctrl+u 清空至行首
Ctrl+k 清空至行尾
Ctrl+w 从当前光标删除到开头
AIT+d 从当前光标删除到末尾
Ctrl+L 清屏
向上下箭头 回看执行过的命令

三.Linux的分类

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

内部命令:比如exit、history、cd、source、fg、echo等
外部命令:比如ls、cat等。

在这里插入图片描述

四.Linux命令帮助

4.1、内部命令help

help 命令是用于显示 shell 内建命令的简要帮助信息,帮助信息中显示有该命令的简要说明以及一些参数的使用以及说明。
在这里插入图片描述

4.2、命令的“–help”选项

外部命令基本上都有一个参数 --help,通过这个参数可以得到相应的帮助。
例:查看ls命令怎么用
在这里插入图片描述

4.3、使用man命令阅读手册页

man 命令,它是 Manual pages 的缩写,它是 Linux 系统中在线软件文档的一种普遍的形式,其内容包括计算机程序(包括库和系统调用)、正式的标准和惯例,抽象的概念等。
man命令:可以通过一些参数,快速查询linux帮助手册,并且格式化显示。
可以使用 man 命令查看其本身的使用说明,即:[root@localhost /]# man man
man 手册的内容很多,涉及了 Linux 使用过程中的方方面面,为了便于查找,man 手册被进行了分册(分区段)处理,手册通常被分为以下9个区段:
在这里插入图片描述
(按q键退出阅读环境)
如要查看相应区段的内容,就在 man 后面加上相应区段的数字即可。
例:[root@localhost /]# man 5 passwd
在这里插入图片描述
使用上下箭头滚动一行文本
使用Page UP和Page Down键翻页
按Q或q键退出阅读环境
按“\”键查找内容

五.目录与文件的基本操作

5.1、查看当前的工作目录

显示用户当前所在的工作目录位置:pwd
例:

[root@localhost opt]# pwd
/opt  当前所在的目录在opt目录

注:/bin是个链接文件,真实地址是/usr/bin

[root@localhost opt]# cd /bin/
[root@localhost bin]# pwd -P 
/usr/bin
[root@localhost bin]# 

5.2、切换工作目录

切换工作目录-cd
将用户的工作目录更改到其他位置
在这里插入图片描述
1.cd ~/cd 回到家目录

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

2.cd - 切换到上一次目录

[root@localhost ~]# cd /opt
[root@localhost opt]# cd 
[root@localhost ~]# cd /opt
[root@localhost opt]# cd /home/
[root@localhost home]# cd -
/opt
[root@localhost opt]# 

3.cd. 当前目录

[root@localhost opt]# cd .
[root@localhost opt]# 

4.cd. . 上一级目录

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

5.cd. . /…返回上两级目录

[root@localhost ~]# cd ..
[root@localhost /]# cd
[root@localhost ~]# cd /opt
[root@localhost opt]# cd /home/
[root@localhost home]# cd /etc/
[root@localhost etc]# cd ../..
[root@localhost /]# 

绝对路径:是以/(根)开头的路径,无论文件在哪都能准确找到。
相对路径:是以当前路径为起点往下赵文件。
/ (根)是唯一入口,例如:
​ /etc/ 绝对路径
​ /opt/ 绝对路径

问:如果当前目录是/home;以绝对、相对两种路径方式进入/opt目录
[root@localhost home]# cd /opt/ 绝对路径
[root@localhost home]# cd . ./opt 相对路径

5.3、列表显示目录内容

列表显示目录内容 ——ls
格式: ls [选项] [文件或目录]
常用选项:
1.ls -l 长格式显示

[root@localhost opt]# ls -l
总用量 4
drwxr-xr-x. 2 root root  6 91 18:59 111
drwxr-xr-x. 2 root root  6 91 18:59 222
drwxr-xr-x. 2 root root  6 91 18:59 33
-rw-r--r--. 1 root root  2 91 19:09 3.txt
-rw-r--r--. 1 root root  0 91 19:09 aaa
-rw-r--r--. 1 root root  0 91 19:09 bbb
-rw-r--r--. 1 root root  0 91 19:09 ccc
-rw-r--r--. 1 root root  0 91 18:07 f1.txt
-rw-r--r--. 1 root root  0 91 18:07 f20.txt
-rw-r--r--. 1 root root  0 91 18:07 f2.txt
-rw-r--r--. 1 root root  0 91 18:07 f3.txt
-rw-r--r--. 1 root root  0 91 18:07 f4.txt
-rw-r--r--. 1 root root  0 91 18:07 f5.txt
-rw-r--r--. 1 root root  0 91 18:07 f6.txt
-rw-r--r--. 1 root root  0 91 18:07 f7.txt
-rw-r--r--. 1 root root  0 91 18:07 f8.txt
-rw-r--r--. 1 root root  0 91 18:07 f9.txt
drwxr-xr-x. 3 root root 18 91 19:00 fff
-rw-r--r--. 1 root root  0 91 18:07 f..txt
-rw-r--r--. 1 root root  0 91 19:05 passwd
drwxr-xr-x. 2 root root  6 326 2015 rh

2.ls -a 显示所有(包括隐藏文件)

[root@localhost opt]# ls -a
.  ..  111  222  33  3.txt  aaa  bbb  ccc  f1.txt  f20.txt  f2.txt  f3.txt  f4.txt  f5.txt  f6.txt  f7.txt  f8.txt  f9.txt  fff  f..txt  passwd  rh

3.ls -A 不显示隐藏文件

[root@localhost opt]# ls -A
111  222  33  3.txt  aaa  bbb  ccc  f1.txt  f20.txt  f2.txt  f3.txt  f4.txt  f5.txt  f6.txt  f7.txt  f8.txt  f9.txt  fff  f..txt  passwd  rh


4.ls -d 显示目录

[root@localhost opt]# ls -d
.

5.ls -h 友好显示

[root@localhost opt]# ls -h
111  222  33  3.txt  aaa  bbb  ccc  f1.txt  f20.txt  f2.txt  f3.txt  f4.txt  f5.txt  f6.txt  f7.txt  f8.txt  f9.txt  fff  f..txt  passwd  rh

6.ls -R 递归将当前目录下所以的子目录文件显示出来

[root@localhost opt]# ls -R
.:
111  222  33  3.txt  aaa  bbb  ccc  f1.txt  f20.txt  f2.txt  f3.txt  f4.txt  f5.txt  f6.txt  f7.txt  f8.txt  f9.txt  fff  f..txt  passwd  rh

./111:

./222:

./33:

./fff:
dddd

./fff/dddd:
cccc

./fff/dddd/cccc:

通配符(主要匹配文件夹名称,不能对文本内容进行匹配):
“?” 匹配一个字符;* 匹配所有非隐藏的字符无论多长多短 ;{1…10} 1到10
{a…z} abc…z;{A…Z}ABC…Z ;[123]取其中之一有就显示没有就没有
[0-9]匹配所以数字范围;

5.4、设置别名

设置别名-alias
通过别名机制简化常用的、比较长的命令
alias 命令别名=命令
例:

[root@localhost opt]# alias mls="vim /etc/sysconfig/network-scripts/ifcfg-ens33"
[root@localhost opt]# mls
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=c5164d80-8dc6-42b4-9d0d-57bece827c34
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.32.101
NTMASK=255.255.255.0
GATEWAY=192.168.32.2
DNS=8.8.8.8

5.5、统计目录及文件空间占用情况

统计目录及文件空间占用情况 ——du
格式:du [选项] [文件或目录…]

-a统计磁盘空间占用时包括所有的文件,而不仅仅是统计目录
-h以更人性化的方式显示出结果
-s只统计所占用空间总大小,而不是统计每个子目录、文件的大小
[root@localhost opt]# du
0	./rh
0	./111
0	./222
0	./33
0	./fff/dddd/cccc
0	./fff/dddd
0	./fff
4	.
[root@localhost opt]# du -a
0	./rh
0	./f1.txt
0	./f2.txt
0	./f3.txt
0	./f4.txt
0	./f5.txt
0	./f6.txt
0	./f7.txt
0	./f8.txt
0	./f9.txt
0	./f..txt
0	./111
0	./222
0	./33
0	./fff/dddd/cccc
0	./fff/dddd
0	./fff
0	./passwd
4	./3.txt
0	./aaa
0	./bbb
0	./ccc
0	./f20.txt
4	.
[root@localhost opt]# du -h
0	./rh
0	./111
0	./222
0	./33
0	./fff/dddd/cccc
0	./fff/dddd
0	./fff
4.0K	.
[root@localhost opt]# du -s
4	.
[root@localhost opt]# cd /opt/
[root@localhost opt]# du
0	./rh
0	./111
0	./222
0	./33
0	./fff/dddd/cccc
0	./fff/dddd
0	./fff
4	.
[root@localhost opt]# du -a
0	./rh
0	./f1.txt
0	./f2.txt
0	./f3.txt
0	./f4.txt
0	./f5.txt
0	./f6.txt
0	./f7.txt
0	./f8.txt
0	./f9.txt
0	./f..txt
0	./111
0	./222
0	./33
0	./fff/dddd/cccc
0	./fff/dddd
0	./fff
0	./passwd
4	./3.txt
0	./aaa
0	./bbb
0	./ccc
0	./f20.txt
4	.
[root@localhost opt]# du -h
0	./rh
0	./111
0	./222
0	./33
0	./fff/dddd/cccc
0	./fff/dddd
0	./fff
4.0K	.
[root@localhost opt]# du -s
4	.

5.6、创建新的目录

创建新的目录 ——mkdir(文件名最长为255个字节,可以使用特殊字符,除了/和空字符)
格式:mkdir [选项] 目录位置及名称 (选项可以省略,但目录及名称一定要有)
创建新的目录 ——mkdir -p 递归创建目录

[root@localhost opt]# mkdir -p ddd/eee
[root@localhost opt]# ls
111  33     444  bbb  ddd     f20.txt  f3.txt  f5.txt  f7.txt  f9.txt  f..txt  rh
222  3.txt  aaa  ccc  f1.txt  f2.txt   f4.txt  f6.txt  f8.txt  fff     passwd
[root@localhost opt]# tree
.
├── 111
├── 222
├── 33
├── 3.txt
├── 444
├── aaa
├── bbb
├── ccc
├── ddd
│   └── eee
├── f1.txt
├── f20.txt
├── f2.txt
├── f3.txt
├── f4.txt
├── f5.txt
├── f6.txt
├── f7.txt
├── f8.txt
├── f9.txt
├── fff
│   └── dddd
│       └── cccc
├── f..txt
├── passwd
└── rh

10 directories, 16 files

5.7、创建空文件

创建空文件 ——touch
更新了文件的时间标记,经常用于创建多个新的文件
格式:touch 文件…

[root@localhost opt]# stat passwd 
  文件:"passwd"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:68707959    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2021-09-01 19:05:16.933413603 +0800
最近更改:2021-09-01 19:05:16.933413603 +0800
最近改动:2021-09-01 19:05:16.933413603 +0800
创建时间:-
[root@localhost opt]# touch passwd
[root@localhost opt]# stat passwd 
  文件:"passwd"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:68707959    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:usr_t:s0
最近访问:2021-09-01 17:53:39.467079469 +0800
最近更改:2021-09-01 17:53:39.467079469 +0800
最近改动:2021-09-01 17:53:39.467079469 +0800
创建时间:-

[root@localhost opt]# ls
111  33     444  bbb  ddd     f20.txt  f3.txt  f5.txt  f7.txt  f9.txt  f..txt  rh
222  3.txt  aaa  ccc  f1.txt  f2.txt   f4.txt  f6.txt  f8.txt  fff     passwd
[root@localhost opt]# touch 5.txt
[root@localhost opt]# ls
111  3.txt  aaa  ddd      f2.txt  f5.txt  f8.txt  f..txt
222  444    bbb  f1.txt   f3.txt  f6.txt  f9.txt  passwd
33   5.txt(此时就创建了新文件)  ccc  f20.txt  f4.txt  f7.txt  fff     rh

5.8、创建连接文件

创建连接文件 ——In(一定要用绝对路径)
为文件或目录建立链接文件,类似于Windows系统的快捷方式
链接文件类型:软连接(符号链接 -s)、硬链接(无法对文件夹做连接)
格式:In [-s] 源文件或目录… 链接文件或目标位置
在这里插入图片描述

5.9、复制文件或目录

复制文件或目录 —— cp
将需要复制的文件或目录重建一份,并保存为新的文件或目录
格式:cp [选项]… 源文件或目录…目标文件或目录
常用选项:

选项说明
-f覆盖目标同名文件或目录时不提醒
-i覆盖目标同名文件或目录时提醒
-p复制时保持源文件权限、属主及时间标记等属性不变
-r复制目录时必须使用,表示递归复制所有文件及子目录
[root@localhost opt]# cp -p ./3.txt /mnt/
[root@localhost opt]# ll /opt/3.txt 
-rw-r--r--. 1 root root 2 91 2021 /opt/3.txt
[root@localhost opt]# 

5.10、移动文件或目录

移动文件或目录 —— mv
如果目标位置与源位置相同,则相当于执行重命名操作
格式:mv [选项]… 源文件或目录… 目标文件或目录
情况一:重命名

[root@localhost opt]# ls
111  3.txt  aaa          ccc     f20.txt  f4.txt  f7.txt  fff     rh
222  444    bbb          ddd(旧名字)     f2.txt   f5.txt  f8.txt  f..txt  s1.bigfile.txt
33   5.txt  bigfile.txt  f1.txt  f3.txt   f6.txt  f9.txt  passwd
[root@localhost opt]# mv ddd DDD
[root@localhost opt]# ls
111  3.txt  aaa          ccc     f20.txt  f4.txt  f7.txt  fff     rh
222  444    bbb          DDD(新名字)     f2.txt   f5.txt  f8.txt  f..txt  s1.bigfile.txt
33   5.txt  bigfile.txt  f1.txt  f3.txt   f6.txt  f9.txt  passwd

情况二:移目录

[root@localhost opt]# mv DDD /mnt/
[root@localhost opt]# ls /mnt/
1.txt  3.txt  DDD  hpasswd  passwd
[root@localhost opt]# 

5.11、查找命令/存放目录

查找命令/存放目录 —— which

格式:which 命令/文件名
例:查找ls命令
[root@localhost ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

例:查找1.txt文件
[root@localhost ~]# which 1.txt
/usr/bin/which: no 1.txt in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

5.12、查找文件或目录

查找文件或目录 —— find

格式:find [查找范围] [ 查找条件表达式]
注意:查找范围必须在前面
find采用递归方式,根据目标的名称,类型,大小等不同属性进行精确查找
find优点:及时查找,支持查找的条件比较多;缺点就是慢

常用查找条件:
按名称查找:“-name”
按文件大小查找:“-size”
按文件属性查找:“-user”
按文件类型查找:“-type”

-name:根据目标文件名称进行查找允许使用通配符 *和?

格式:find(命令字) /etc(查找范围) -name(匹配条件) passwd(文件名)
例:[root@localhost dev]# find /etc/ -name passwd
/etc/pam.d/passwd
/etc/passwd
查找etc目录下passd结尾的文件
例:用通配符查找opt目录下所有结尾为.txt文件
[root@localhost dev]# find /opt/ -name *.txt
/opt/s.txt
/opt/g.txt
/opt/1.txt

-user按文件属主查找 /home是非管理员用户的家目录,管理员用户的家目录在/root

例:查找属于hao1的文件
[root@localhost dev]# find /home/ -user hao1
/home/hao1
/home/hao1/.mozilla
/home/hao1/.mozilla/extensions
/home/hao1/.mozilla/plugins
/home/hao1/.bash_logout
/home/hao1/.bash_profile
/home/hao1/.bashrc

-type:根据文件类型进行查找,类型指的是普通文件(f)、目录(d)、块设备(b)、字符设备文件(c)、链接(l)。

例:查找opt下的目录
[root@localhost dev]# find /opt/ -type d
/opt/
/opt/aaa
/opt/ddd
/opt/ky15
/opt/data

-size:根据文件大小查找,一般使用+号(大于) -号(小于)设置超过或小于指定的大小作为查找条件。比如+50M 就是超过50MB的文件,-50就是小于50MB的文件。

例:查找opt目录下超过50MB的文件
[root@localhost dev]# find /opt/ -size +50M
/opt/99m.img
/opt/100m.img
查找opt目录下小于50MB的文件
[root@localhost dev]# find /opt/ -size -50M
/opt/
/opt/passwd
/opt/jishiben.tar.gz
/opt/aaa
/opt/ddd
/opt/mulu.tar.gz
/opt/ky15
/opt/data
/opt/saaa2
/opt/s.txt
/opt/g.txt
/opt/b.txx
/opt/1.txt

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值