本文基于
《HCIA-openEuler V1.0 培训教材.pdf》
,非原创文章
Linux命令基础知识
GUI:Graphical User Interface – 图形用户界面
CUI:Command Line Interface – 命令行界面
Linux命令语法格式
命令格式:命令 [-选项] [参数]
#示例
ls -a /etc #列出“/etc”文件夹下的所有文件
#“选项”分为“简化选项'-'”和“完整选项'--'”,如“-a”等价与“--all”
Linux命令行操作技巧
#光标
Home #移动光标到本行开头
Ctrl + A #移动光标到行首
Ctrl + E #移动光标到行尾
Ctrl + C #终止当前程序
Ctrl + L #清理屏幕显示
Linux命令分类
分类 | 命令 |
---|---|
登录和电源管理 | login、shutdown、halt、reboot、install、exit、last等 |
文件处理 | file、mkdir、grep、dd、find、mv、ls、diff、cat、ln等 |
系统管理 | df、top、free、quote、at、ip、kill、crontab等 |
网络操作 | ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、nslookup等 |
系统安全 | passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who等 |
其他 | tar、unzip、gunzip、unarj、motools、man等 |
Linux基础命令
登录命令
login
作用:登录系统。
权限:所有用户。
Linux是多用户操作系统,可以同时接受多个用户登录,允许一个用户多次登录。每个虚拟控制台可以看作一个独立工作站,工作台之间可以切换。虚拟控制台的切换可以通过按下“Alt”键及功能键(通常是F1~F6)来实现。
虚拟控制台的好处:一个程序出错造成系统死锁时,可以切换到其他虚拟控制台工作,关闭这个程序。
last
作用:显示近期用户或终端的登录情况。管理员可以通过last查看该程序的log,获知谁曾经或企图连接系统。
权限:所有用户。
exit
作用:退出系统,没有参数,运行后退出系统进入登录界面。
权限:所有用户。
电源管理命令
shutdow
作用:关闭计算机。
权限:超级用户。
shutdown [-t seconds] [option] time [message]
-t seconds #在改变到其他运行级别之前,告诉init程序多久后关机
-r #关机后打开电源(重启)
-h #关机后关闭电源
-F #在重启计算机时强迫fsck
#fsck(File System Check)命令用于检查与修复Linux档案系统,可以同时检查一个或多个Linux档案系统。
time #设定关机前的时间
#
message #传送给使用者的警告讯息
系统关机前使用shutdown命令,系统管理员会通知所有登录的用户系统将要关闭,并且login指令会被冻结,即新的用户不能再登录
halt
作用:关闭系统。
权限:超级用户。
halt执行时,杀死应用进程,执行sync(将存于buffer中的资料强制写入硬盘中)系统调用,文件系统读写操作完成后停止内核。若系统运行级别为0或6,则关闭系统;否则以shutdown指令(shutdown -h)取代。
sync命令:强制将内存缓冲区中的数据立即写入磁盘
fsck命令:检查并试图修复文件系统中的错误
超级块位于块组最前面,描述文件系统整体信息的数据结构
/var/log/wtmp是一个二进制文件,记录每个用户的登录次数和持续时间等信息
reboot
作用:重新启动计算机。
权限:系统管理者。
-n #保存数据后重启
-w #不重启,仅记录写入到/var/log/wtmp文件中
-d #不把记录写入到/var/log/wtmp文件中
-i #关闭网络设置后再重启
文件管理命令
Linux文件目录结构
Linux系统中一切皆文件,其文件目录结构是树形, “/” 是根目录
文件目录 | 解释 |
---|---|
/bin | bin是Binary的缩写,存放最常用的命令 |
/boot | 启动Linux时的一些核心文件,包括连接文件和镜像文件 |
/dev | Device的缩写,存放外部设备。 |
/etc | 存放所有系统管理所需要的配置文件和子目录 |
/home | 用户主目录 |
/lib | 存放系统最基本的动态连接共享库 |
/media | Linux系统自动识别设备之后,挂载到这个目录下 |
/mnt | 让用户临时挂载别的文件系统 |
/opt | 给主机额外安装软件的目录 |
/proc | 系统内存映射的虚拟目录,获取系统信息 |
/root | 系统管理员/超级权限者的用户主目录 |
/run | 临时文件系统,存储系统启动以来的信息。若有/var/run目录,则指向/run |
/sbin | 存放系统管理员的系统管理程序 |
/srv | 存放一些服务启动后需要提取的数据 |
/sys | Linux2.6内核后,新出现文件系统sysfs |
/tmp | 用来存放一些临时文件 |
/usr | 用户的应用程序和文件 |
/var | 将经常被修改的目录存在这个目录下,包括各种日志文件 |
Linux文件路径
绝对路径:从/(根目录)开始的
相对路径:相对当前所在目录来说的路径
Linux文件命令
pwd
作用:打印当前的工作目录
pwd -L #目录连接链接时,输出连接路径
pwd -P #输出物理路径
cd
作用:改变当前工作目录
cd .. #进入上一层目录
cd . #进入当前目录
cd #回到家目录
cd ~ #回到家目录
cd - #进入前一个目录,两个目录之间快速切换
ls
作用:列出目录的内容或者文件的信息
ls #列出当前目录下所有文件和目录(隐藏文件除外)
ls -l #显示详细信息
ls -l / #列出指定目录内容
ls -l /bin/bash #列出指定文件信息
ls -l f1 f2 #同时列出多个文件信息
ls -ld / #列出指定目录信息
ls -lh #-h用人类易读的格式显示大小信息
ls -a #显示隐藏的文件和目录——包括.和..
ls -t #按时间排序
ls -S #按大小排序
ls -X #按拓展名排序
ls -1 #一行显示一个文件
mkdir
作用:创建目录,若目录已存在则报错
mkdir -p dir1/dir2/dir3 #若dir1、dir2不存在则一并创建
mkdir -pv dir1/dir2 #显示创建的过程
touch
作用:创建空文件、修改文件时间戳
touch file #把file的时间戳改为当前时间
touch -d "2021-02-08 19:14:10" file #把file的时间戳改为指定时间
cp
作用:复制文件或者目录 —— 高危命令
cp f1 f2 #把文件f1复制一份,命名为f2
cp f1 d1/ #把文件f1复制到目录d1下
cp f1 f2 d1/ #把文件f1、f2复制到目录d1下
cp -a f1 f2 #-a保留源文件属性
cp -i f1 f2 #覆盖f2之前需要用户确认
cp -r d1 d2 #把目录d1复制一份,命名为d2
cp -rv d1 d2 #-v显示过程
cp -rf d1 d2 #无法打开已经存在的目标文件时删除目标文件然后重试
#把一个目录下众多子目录中的html文件全部复制出来,放到目录/data/html中
find -name "*.html" -exec cp {} /date/html/ \; #方法一,分号不能去掉
find -name "*.html" | xargs cp -t /data/html/ #方法二,xargs及-t减少cp进程数
mv
作用:移动文件或者目录 —— 高危命令
mv f1 f2 #将f1重命名为f2
mv -b f1 f2 #若f2已存在,则先备份文件
mv -f f1 f2 #若f2已存在,则直接覆盖
mv -i f1 f2 #若f2已存在,则询问是否覆盖
rm
作用:删除文件或者目录 —— 高危命令
注意:
没有撤销删除操作
rm -f dir #忽略不存在的文件,不给出提示
rm -r dir #递归删除dir下所有文件和目录
rm -i dir #删除前询问
rm -v dir #显示删除步骤
rm -rf dir #递归删除且无需确认
cat
作用:读取文件的全部内容、将几个文件合并为一个文件
cat file #读取file全部内容
cat -A file #显示不可打印字符
cat f1 f2 > f2 #将f1和f2的内容合并到f3
head
作用:显示文件的开头内容,默认显示开头10行
head file #显示file开头内容
head -n 3 file #显示file前3行
head -c 3 file #显示file前3字节
head -n -3 file #显示file除了最后3行的所有内容
tail
作用:读取文件的尾部内容
tail -n 3 file #显示file最后三行
tail -n +3 file #显示第三行到最后的所有内容
tail -f file #跟踪file尾部变化显示
#后台ping,通过tail显示实时的ping信息
ping cn.bing.com > ping.log &
tail -f ping.log
more
作用:以一页一页的方式逐页阅读文件内容
Enter - 向下n行,默认是1行
Ctrl+F - 向下滚动一屏
SPACE - 向下滚动一屏
Ctrl+B - 向上滚动一屏
= - 输出当前行的行号
V - 调用vi编辑器
!命令 - 调用shell命令并执行
q - 退出more
less
作用:读取内容,分屏显示,可以随意浏览文件,查看之前不加载整文件
/string - 向下搜索string
?string - 向上搜索string
Q - 退出less
SPACE - 滚动一页
Enter - 滚动一行
h - 显示帮助界面
find
作用:在指定目录下查找文件
find [path…] [expression]
find -name "*book*" #查找名字包含book的文件
find -user openEuler #查找所属用户是openEuler的文件
find -empty #查找空文件及目录
find -empty -delete #查找空文件并删除
find -size 0 #查找大小为0的文件
find /etc -name "*.html" #在/etc目录下查找.html类型的文件
find -mtime +7 #查找更改时间是7日以前的文件
find -mtime -7 #查找更改时间是7日之内的文件
find -type d #查找文件类型是目录的文件
find -type c #查找文件类型是字型装置文件的文件
find -type b #查找文件类型是区块装置文件的文件
find -type p #查找文件类型是具名贮存的文件
find -type f #查找文件类型是一般文件的文件
find -type l #查找文件类型是符号连结的文件
locate
作用:快速的查找文件系统内是否有指定的文件
原理:先建立一个文件名及路径的数据库,查找时去这个数据库内查询
使用:使用之前要先updatedb一下来生成数据库,一般定时执行
locate openEuler #查找文件名中包含openEuler的文件
locate /etc/sh #查找/etc目录下以sh开头的文件
which
作用:在PATH所指定的目录中查找可执行文件
which cd #查找cd命令文件
which -a cd #列出所有cd文件
which cp mv rm #查找多个文件
gzip
作用:对单个文件或目录进行压缩或解压缩的命令,执行之后只有源文件或压缩后的文件,是对文件在原本位置压缩,压缩一个目录后是目录下的所有文件都变成了filename.gz。
gzip [option] [filename]
gzip -d file #压缩file为file.gz
gzip -f file #强行压缩file
gzip -l file.gz #列出file.zip中的文件相关信息
gzip -r dir #递归压缩dir
gzip -rv dir #-v显示指令执行过程
tar
作用:打包文件,把多个文件打到一个包里,方便数据移动
tar cf dir.tar dir #把dir目录及其所有内容打包
tar tf dir.tar #列出dir.tar下所有内容
tar xf dir.tar #解包dir.tar到当前目录
tar xf dir.tar -C /tmp #解包dir.tar到当前目录的/tmp目录下
tar czf dir.tar.gz dir #打包dir并使用gzip压缩
ln
作用:创建链接文件
软链接(symbolic link):以路径形式存在(快捷方式);删除源文件后链接失效;可以对目录进行链接;可以跨文件系统
硬链接(hard link):以文件副本形式存在,不占用实际空间;删除源文件后影响;不可以对目录链接;不可以跨文件系统
ln适用场景:多个不同目录需要同一文件的场景,只需要某一固定目录放置该文件,其他目录ln命令设置link该文件,不必重复占用磁盘空间
#不带参数情况下默认创建硬链接
ln sourcefile targetfile #创建硬链接
ln -s sourcefile targetfile #创建软链接
帮助命令
man
序号 | 代表内容 |
---|---|
1 | 使用者在shell中可以操作的指令或程序 |
2 | 系统核心可调用的函数与工具等 |
3 | 常用的函数(function)和函数库(library) |
4 | 设备文档的说明,通常是/dev下的文件 |
5 | 文件格式和约定 |
6 | 游戏(games) |
7 | 杂项(包括宏和惯例) |
8 | 系统管理命令(通常仅适用于root用户) |
9 | 内核例程(非标准) |
man sleep #查看sleep命令手册
man 3 sleep #查看sleep命令库函数
#查找名字包含keyword的man文档
man -k keyword
find /usr/share/man -iname "*keyword*"
help
help pwd #pwd命令的详细讲解
help -d pwd #pwd命令简短主题描述
help -s pwd #pwd命令简短语法描述