Linux 基本操作命令

一、基础知识

[root@localhost ~]# 
--------------------------------------------------------------------------
root		# 表示用户名
localhost	# 表示主机名
  ~			# 表示当前用户的家目录
  			# 普通用户的家目录在 		 /home/普通用户名称/
  			# 超级管理员root的家目录在	/root/
  			
  /			# 表示根目录
  #			# 表示当前用户用有超级管理员权限
  $			# 表示当前用户是普通用户
  
# 关机命令
-------------------------------------------------------------------------
halt				# 立即关机
poweroff			# 立即关机
shutdown -h now		# 立即关机(root用户使用)
shutdown -h 5		# 5秒后自动关机

# 重启
------------------------------------------------------------------------、
reboot
init6
shutdown -r now

二、Linux 基础命令

1. shell

shell 是 linux 系统后台运行的特殊程序,为用户和 linux 系统内核交互提供接口

(1)shell环境

​ bash 是 linux 系统默认的 shell 环境

① 查看当前使用的shell环境

[root@localhost ~]# echo $SHELL

② 查看当前可使用的shell环境

[root@localhost ~]# cat /etc/shells

③ shell的环境切换至sh

[root@localhost ~]# sh

(2)内部命令和外部命令

​ 内部命令优先级比外部命令高

内部命令外部命令
在shell内部在shell外部
在shell解析器程序内部的特殊指令linux系统中可以完成某种功能的特定脚本文件和二进制文件
没有单独的系统文件每个命令都有一个可执行的文件
自动载入内存需要找到其对应的存储位置,由shell加载执行

查看是命令的类型

# 查看cd的类型
[root@localhost ~]# type cd

# 查看ls的类型
[root@localhost ~]# type ls

2. 命令格式

(1)格式

​ 命令字 [选项] [参数]

  • 命令字

    整条命令最关键的一部份

  • 选项

    短格式:用 - 表示 再加上一个字母

    长格式:用 – 表示 再加上一个单词

  • 参数

    命令字处理的对象

    可以是单个也可以是多个

    ; 可以隔开命令,一次执行多个命令

(2)快捷键
快捷键功能
Tab 键自动补齐(两次可以显示所有选项)
反斜杠“\”强制换行或转义
Ctrl+a光标移到最前
Ctrl+e 或 end 键光标移到最后
Ctrl+U清空至行首不包括当前光标处的 字符
Ctrl+K清空至行尾包括当前光标处的字符
Ctrl+w从当前光标删除到开头
ALT+d从当前光标删除末尾
Ctrl+l清屏
Ctrl+c取消本次命令编辑
Ctrl+s/Ctrl+q锁屏/解锁
向上下箭头回看执行过的命令

3. 帮助命令

(1)help

​ 用于查看命令字的用法

① help内部命令格式:help 命令字

查看内部命令echo用法

[root@localhost ~]# help echo

② help外部命令格式:命令字 help

查看外部命令cat用法

[root@localhost ~]# cat --help

(2)man

​ man 比 help 显示的更加详细

​ 退出查看按 q 键

用 man 查看 cat 的详细用法

[root@localhost ~]# man cat
(3)info

​ info 比 man 更加详细

​ 退出按 q 键

用 info 查看 cat 的详细用法

[root@localhost ~]# info man

3. cd 命令

切换目录

格式:cd 目标目录

(1)特殊目录
目录含义
/根目录
~当前用户的家目录
/root超级管理员家目录
/home/用户名普通用户的家目录
-上一次目录(上一次使用cd的目录)
.当前目录
当前目录的父目录
. 开头的文件隐藏文件(ls -a 可看到)
(2)实操

切换至/opt目录

[root@localhost ~]# cd /opt

4. ls 命令

生产环境慎用,文件量过大,或导致死机

格式:ls [选项] [文件或目录]

(1)选项作用
选项作用
-l 或 直接 ll长格式显示
-a显示全部文件,含隐藏文件(开头为 . 的文件)
-A显示全部文件,含隐藏文件(不包含 . 和 … )
-d只列出本身,不包含目录下的文件
-h人性化显示,文件大小带单位(与长格式显示联合使用)
-R递归显示

长格式显示每个字段的含义:

字段(共七个字段)含义
第一字段第一位:
文件类型
- 表示普通文件
d 表示目录;
l 表示链接文件;
b 表示块设备(磁盘)
p 管道文件
s 套接字文件
后九位:
每三位代表一方的权限
第一方 文件拥有者
第二方 — 文件拥有者所在的组
第三方 — 其他人
r 代表 可读;w 代表 可写;x 代表 可执行;
第二字段如果文件是目录:表示该目录下有多少文件
如果是文件:表示链接数
第三字段拥有者
第四字段拥有者所属组
第五字段占用空间大小
第六字段文件的更改的最新时间
第七字段文件名称
如果是链接文件:会有箭头从文件名指向被链接文件的路径
(2)实操

​ ① 显示当前目录下的内容

[root@localhost /]# ls

​ ② 长格式显示 / 目录下的文件名

[root@localhost ~]# ll /

​ ③ 人性化显示

[root@localhost /]# ll -h

​ ④ 显示自身文件

[root@localhost /]# ls -d

​ ⑤ 递归显示

[root@localhost /]# ls -R /opt

5. 查看文件或目录的占用空间大小

格式:

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

(1)选项含义
选项含义
-a统计当前目录和目录下所有文件的占用空间大小
-h人性化显示统计结果(默认 KB 为单位)
-s只统计当前目录的总占用空间大小,不统计子目录和子文件大小
-d最大显示到第几层
–exclude不计入统计
(2)实操

统计 /etc 目录的总占用空间大小并人性化显示

[root@localhost ~]# du -sh /etc

6. 创建目录和文件

(1)命令作用
命令作用
mkdir创建目录
创建递归目录时 使用选项 -p
touch创建文件
(2)实操

格式:

mkdir [选项] 目录名(路径)

touch 文件名

① 在根目录下创建 data 目录

[root@localhost ~]# cd /
[root@localhost /]# mkdir data

② 在 /data 目录下递归创建目录 aa、bb、cc,即 bb 在 aa 中,cc 在 bb 中

[root@localhost /]# cd data/
[root@localhost data]# mkdir -p aa/bb/cc

③ 在data目录下创建file1文件

[root@localhost data]# touch file1

④ 在data目录下创建多个同级目录 file2、flie3、file4

[root@localhost data]# touch file2 file3 file4

7. 复制及剪切目录和文件

(1)命令作用
命令作用
cp用于复制文件及目录
mv用于剪切文件及目录(若源文件路径与目标文件路径一致,表示重命名)
(2)选项含义
选项含义
-f覆盖同名文件及目录时不提醒,直接强制覆盖
-i覆盖同名文件时提示用户确认
-p复制、剪切时保持源目录的权限、属主、时间标记等属性不变
-r复制、剪切目录时必须使用此选项,表示递归复制所有文件及子目录
-a复制、剪切目录时完整保留完整的信息
-v可视化(显示过程)
-u相当于增加备份,差异备份(只对目录起作用)
(3)实操

格式:
cp [选项] 源文件路径 目标文件路径

mv [选项] 源文件路径 目标文件路径

① 将 /data/file1 文件复制到 /data/aa 目录中

[root@localhost data]# cp /data/file1 /data/aa/

② 将 /data/aaa 目录 复制到 /data/aa 目录下

[root@localhost data]# cp -rfa /data/aaa/ aa/

③ 将 /data/file2文件 剪切到 /data/aa 目录下

[root@localhost data]# mv /data/file2 /data/aa/

④ 将 /data/aa/bb 目录剪切到 /data/aaa 目录下

[root@localhost data]# mv /data/aa/bb /data/aaa

8. 删除目录和文件

(1)命令作用
命令作用
rm删除文件及目录
(2)选项含义
选项含义
-r递归删除(目录)
-f强制,不询问直接删除
-i删除时询问
(2)实操

格式:

rm [选项] 目标目录或文件路径

① 删除 /data/file1文件

[root@localhost data]# rm -f file1

② 删除 /data/aaa目录

[root@localhost data]# rm -rf /data/aaa

9. 正则表达式

用于匹配符合要求的内容

(1)符号含义
符号含义
匹配任意一个字符(相当于任意一个字符),例:a?,表示a开头的两个字符
*匹配所有字符,不包括 . 开头文件(隐藏文件)
{1…5}{1…5} 匹配 1 到 5 的数字
{a…z}{a…z}匹配 a 到 z 的小写字母
{A…Z}{A…Z} 匹配 A 到 Z 的大写字母
[123]匹配 1 、2 、3 中的随意字符
[a-z]匹配 a-z 的任意大小写字母(大写Z 除外)
[A-Z]匹配 A-Z 的任意大小写字母(小写a 除外)
\转义字符表示原来的意思
[[:lower:]]匹配 a 到 z 的小写字母
[[:upper:]]匹配 A 到 Z 的大写字母
[[:digit:]]匹配任意数字,相当与 0-9
(2)实操

① 查看/data中含有共两个字符且第二个字符时a的文件及目录

[root@localhost data]# ls ?a

② 查找/data目录中f开头的所有文件或目录

[root@localhost data]# ls f*

③ 在/data目录中创建 1-3.txt 文件

[root@localhost data]# touch {1..3}.txt

④ 在/data目录中创建 a-c.txt 文件

[root@localhost data]# touch {a..c}.txt

⑤ 查找/data目录中 1.txt 和 a .txt 的文件或目录

[root@localhost data]# ls [1a].txt

10. 命令别名

(1)命令
命令作用(临时修改,系统重启后失效)
alias 命令别名=‘命令’修改命令别名
unalias 命令别名删除命令别名
\加别名的命令使用原始命令
命令作用(永久修改)
进入 /etc/.bashrc 添加修改别名影响全部用户
进入 /当前用户的家目录/.bashrc 添加修改别名只影响当前用户
(2)实操

① 将 cat /etc/sysconfig/network-scripts/ifcfg-ens33 命令临时将别名设置为 ens33

[root@localhost ~]# alias ens33='cat /etc/sysconfig/network-scripts/ifcfg-ens33'

② 删除别名ens33

[root@localhost ~]# unalias ens33

③ 将 ls /opt 命令的别名设置为 ls,当使用 ls 查看当前目录下的内容时,发现是查看 /opt 目录下的内容,使用 \ls 使用原 ls 命令

[root@localhost /]# alias ls='ls /opt'
[root@localhost /]# \ls

④ 将 cat /etc/sysconfig/network-scripts/ifcfg-ens33 命令的当前用户的别名永久设置为 ens33

[root@localhost ~]# vim .bashrc
[root@localhost ~]# source .bashrc
	alias catens33='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
	
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost ~]# catens33
[root@localhost ~]# su m
[m@localhost root]$ catens33
bash: catens33: 未找到命令...
[m@localhost root]$ 

⑤ 删除当前用户永久别名catens33

[root@localhost ~]# vim .bashrcalias catens33='cat /etc/sysconfig/network-scripts/ifcfg-ens33' 删除
[root@localhost ~]# source .bashrc
[root@localhost ~]# catens33
bash: catens33: 未找到命令...

④ 将 cat /etc/sysconfig/network-scripts/ifcfg-ens33 命令的所有用户的别名永久设置为 ens33

[root@localhost ~]# vim /etc/bashrc
	alias catens33='cat /etc/sysconfig/network-scripts/ifcfg-ens33'
[root@localhost ~]# source /etc/bashrc
[root@localhost ~]# catens33

[root@localhost ~]# su m
[m@localhost root]$ catens33

11. 硬链接与软链接

格式:

类型命令格式
硬链接ln 源文件路径 目标文件路径
软连接ln -s 源文件或源目录路径 目标文件或目标目录路径
(1)对比
对比项硬链接软链接
本质与原文件是同一个文件不是同一个文件
inode号相同不同
链接数增删硬链接,链接数会改变增删软链接,链接数不会改变
支持文件类型普通文件普通文件和目录
删除源文件链接数减1,链接文件不受影响无法访问链接文件
链接文件类型与源文件相同与源文件无关
文件大小和源文件大小相同(都指向硬盘同一个地方)源文件路径的长度大小
(2)实操

在 /data 目录中 创建 file1文件的硬链接 file1.1 到 dir1,创建 file1文件的软链接 file1.2 到 dir1

[root@localhost ~]# cd /data
[root@localhost data]# ln file1 dir1/file1.1
[root@localhost data]# ln -s file1 dir1/file1.2

12. find 查找文件

格式:

find [查找路径] [查找条件] [处理动作]

(1)查找类型说明
查找类型关键字说明
按名称查找-name根据目标文件的名称查找(允许使用通配符 * 和 ?)
按文件大小查找-size根据目标文件所占用的空间大小来查找,小于用 - 表示,大于用 + 表示,单位 k(k是小写)、MB、GB
按文件的属主查找-user根据文件的拥有者查找
按文件类型查找-type根据文件的类型查找,f 普通文件、d 目录、b 块设备、c 字符设备文件
按inode号查找-inum根据文件的inode号查找
按权限查找-perm按文件的权限查找,r 可读、w可写、x 可执行
按时间查找-atime
-mtime
-ctime
按最近访问时间 -atime
按最近更改时间 -mtime
按最近改变属性时间 -ctime
按最大深度查找-maxdepthlevel将文件分级,查找相应等级数以内的文件
按最小搜索目录深度-mindepthlevel同上
(2)实操

① 在 /data 目录下查找开头为 f 的文件

[root@localhost data]# find /data -name 'f*'

② 将 /data 目录下占用空间小于2kB的普通文件复制到/data/dir1目录下

[root@localhost data]# find /data -type f -size -2k -exec cp {} /data/dir1 \;

13. 查看硬件信息

(1)查看CPU信息

第一种:

[root@localhost ~]# lscpu

第二种:

[root@localhost ~]# cat /proc/cpuinfo

#### (2)查看内存大小

第一种:

[root@localhost ~]# free -h

第二种:

[root@localhost ~]# cat /proc/meminfo
MemTotal:        2031888 kB
MemFree:         1372044 kB
MemAvailable:    1534364 kB
Buffers:            2116 kB
Cached:           285288 kB
SwapCached:            0 kB
Active:           244084 kB
Inactive:         246512 kB
Active(anon):     204068 kB
Inactive(anon):     8436 kB
Active(file):      40016 kB
Inactive(file):   238076 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       4882428 kB
SwapFree:        4882428 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        203224 kB
Mapped:            89168 kB
Shmem:              9312 kB
Slab:              77720 kB
SReclaimable:      31964 kB
SUnreclaim:        45756 kB
KernelStack:        5584 kB
PageTables:        12932 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     5898372 kB
Committed_AS:    1276648 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      183284 kB
VmallocChunk:   34359310332 kB
HardwareCorrupted:     0 kB
AnonHugePages:     47104 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       81792 kB
DirectMap2M:     2015232 kB
DirectMap1G:           0 kB
(3)查看磁盘分区情况
[root@localhost ~]# lsblk

(4)查看机器架构
[root@localhost ~]# arch

(5) 查看系统时间

格式:

date [选项]

选项含义
-d表示几天前的时间,例 -d ’-1 day ‘ 表示一天前的时间、-d ’1 day‘ 表示一天后的时间
%F完整日期格式,%Y-%m-%d
%T24小时制,hh:mm:ss

实操

① 显示时间

[root@localhost ~]# date

② 显示两天前和两天后时间

[root@localhost ~]# date -d '-2 day'
[root@localhost ~]# date -d '+2 day'

③ 只显示年月日

[root@localhost ~]# date +%F

④ 只显示24小时制时间

[root@localhost ~]# date +%T

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值