Linux命令
title: Linux基础操作
tags: linux
abbrlink: '38e76711'
date: 2022-06-27 09:01:41
Linux 一些基础知识
Linux常见发行版本
- RedHat Linux
- SuSE Linux
- Ubuntu Linux
- Mandrake Linux
- Caldera Linux
- Turbolinux
- Debian GNU/Linux
- Gentoo Linux
- Linpus Linux
## Linux的优点
开源 免费 稳定 安全 高性能
Linux内核版本
Linux 的版本号分为两部分,即内核版本与发行版本。内核版本号由3个数字组成:A.B.C
A:内核主版本号。这是很少发生变化,只有当发生重大变化的代码和内核发生才会发生。
B:内核次版本号。是指一些重大修改的内核。偶数表示稳定版本;奇数表示开发中版本。
C:内核修订版本号。是指轻微修订的内核。这个数字当有安全补丁,bug修复,新的功能或驱动程序,内核便会有变化。
磁盘分区表示
Linux中将硬盘、分区等设备均表示为文件
以 /dev/hda5 为例
dev:硬件设备文件所在的目录
hd: hd 表示IDE设备;sd 表示SCSI设备
a: 硬盘的顺序号,以字母a、b、c……表示
5: 分区的顺序号,以数字1、2、3……表示
文件系统类型
Linux中默认使用的文件系统类型
- EXT4, 第3代扩展(Extended)文件系统
- SWAP,交换文件系统
Linux支持的其它文件系统类型
- FAT16、FAT32、NTFS
- XFS、JFS
Linux 系统启动过程
- 内核的引导。
- 运行 init。
- 系统初始化。
- 建立终端 。
- 用户登录系统。
Linux系统目录结构
/bin : 系统命令
(/usr/bin、/usr/local/bin):是Binary的缩写,这个⽬录存放最经常使⽤的命令。
/sbin: 存放系统管理员命令
(/usr/sbin、/usr/localsbin):s就是Super User的意思,这⾥存放的是系统管理员的系统管理程序。
/home: 普通用户的家目录
存放普通⽤户的主⽬录,在Linux中每个⽤户都有⼀个⾃⼰的⽬录,⼀般该⽬录是以⽤户的账号命令的。
/root: 管理员家目录
该⽬录为系统管理员,也称作超级管理员的主⽬录。
/boot: linux系统启动文件
存放的是启动Linux时使⽤的⼀些核⼼⽂件,包括⼀些链接⽂件以及镜像⽂件。
/proc: 关联系统虚拟设备
这个⽬录是⼀个虚拟⽬录,它是系统内存的映射,访问这个⽬录来获取系统信息。
/srv : 该⽬录存放⼀些服务启动之后需要提取的数据。
service缩写,该⽬录存放⼀些服务启动之后需要提取的数据。
/tmp : Linux系统的垃圾桶
这个⽬录⽤来存放⼀些临时⽂件。
/dev:类似于windows的设备管理器,把所有的硬件⽤⽂件的形式存储。
/media: 多媒体目录
linux系统会⾃动识别⼀些设备,⾃动识别⼀些设备,例如:U盘、光驱等。
/mnt : 挂载一些硬件设备的目录
系统提供该⽬录是为了让⽤户临时挂载别的⽂件系统
/opt : 下载文件常用目录
这是给主机额外安装软件所摆放的⽬录。
/usr : 存放系统安装软件的目录
这是另⼀个给主机额外安装软件所安装的⽬录。⼀般是通过编译源代码的⽅式安装程序。
/var : 存放系统日志
这个⽬录中存放着不断扩充的东⻄,习惯将经常被修改的⽬录放在这个⽬录下。
/etc : 系统配置目录
/run : 存放系统运行临时数据目录
Linux系统常用命令
Linux命令的分类
Linux命令
- 用于实现某一类功能的指令或程序
- 命令的执行依赖于解释器程序(例如:/bin/bash)
Linux命令的分类 - 内部命令:属于Shell解释器的一部分
- 外部命令:独立于Shell解释器之外的程序文件
Linux命令行格式
- 命令字 [选项] [参数]
- 选项及参数含义
- 选项:用于调节命令的具体功能
- 以 “-”引导短格式选项(单个字符),例如“-l”
- 以“--”引导长格式选项(多个字符),例如“--color”
- 多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
- 参数:命令操作的对象,如文件、目录名等
Linux系统命令
获得命令帮助
- 内部命令help
- 查看Bash内部命令的帮助信息
- 命令的“--help”选项
- 适用于大多数外部命令
- 使用man命令阅读手册页
- 使用方向键滚动文本
- 使用Page Up和Page Down键翻页
- 按Q或q键退出阅读环境、按“/”键后查找内容
Linux系统命令
- uname 查看系统内核信息 -r查看内核版本号 -a 显示详细信息
- hostname 查看或临时修改主机名称
- ifconfig 查看系统ip信息
- cat /proc/cpuinfo 查看系统cpu信息
- cat /proc/meminfo 查看系统内存信息
- halt 关机
- reboot 重启
- pwd 查看工作目录
- cd 切换目录
- du 统计目录及文件空间占用情况 -sh统计目录大小
目录操作命令 - ls
- ls命令
- 用途:列表(List)显示目录内容
- 格式:ls [选项]... [目录或文件名]
- 常用命令选项
- -l :以长格式显示
- -a:显示所有子目录和文件的信息,包括隐藏文件
- -A:类似于“-a”,但不显示“.”和“..”目录的信息
- -d:显示目录本身的属性
- -h:以更易读的字节单位(K、M等)显示信息
- -R:递归显示内容
- --color:以颜色区分不同类型文件
权限设置命令
- Chmod
- U 是所有者用户 g 是组 o其他人 a所有人
- R读 w写 x可执行
- 用法
- Chmod u+w 给所有者用户添加写入权限
- Chmod g-r 给所在分组去掉读取权限
- 权限用数字代替
- R=4 w=2 x=1 权限值等于每个权限数字相加
- Chmod 777 给所有权限设置为可读可写可执行
- Chown 设置所有者和所在分组用户
- Chown Apache:Apache test 登录吧test目录所有者和所组设置为Apache用户
文件管理
- touch 创建文件或跟新文件时间标记
- mkdir 创建目录命令 -p递归创建目录
- cp 复制文件或目录 -r递归复制 -f强制覆盖 -p保持源文件属性不变
- -i覆盖文件目录提醒
- rm 删除文件或目录 -r递归删除 -f 强制删除不提醒 -i 删除时用户提醒
- mv 移动文件或目录
- wc 统计文件中出现的单词数量字节数量和行数
- Cat 查看文件内容命令
文件或目录查找命令
- find命令
用途:用于查找文件或目录
格式:find [查找范围] [查找条件] - 常用查找条件
-name:按文件名称查找
-size:按文件大小查找
-user:按文件属主查找
-type:按文件类型查找
压缩命令 gzip bzip2
gzip命令不仅能压缩文件也能实现文件的解压操作,利用gzip命令可以将普通文件压缩成.gz为后缀 的压缩文件,压缩成功后原始文件消失。且可指定压缩机别,该命令的压缩级别范围是1~9级,默认为6,1的压缩比最差,速度最快;9的压缩比最好,速度较慢。
- 加压:gzip -q [文件名] (或gzip [文件名])
- 解压:gzip -d [文件名]
利用bzip2命令可以将普通文件压缩成.bz2为后缀 的压缩文件,压缩成功后原始文件消失。
- 加压:bzip2 -q[文件名]
- 解压:bzip2 -d [文件名]
- bzip2需要下载才能使用
归档命令 tar
- tar 归档命令 释放归档文件 没有压缩功能
格式 tar 选项 归档文件名 源文件或目录 - -c 创建归档文件 扩展名为.tar
- -v 输出详细信息 -f 表示使用归档文件 如 -cvf 创建归档文件
- tar -cvf 4.tar 1 2 3 将文件1 2 3 打包归档为4.tar
- tar -xvf 4.tar 解包归档文件4.tar -xvf 解包归档文件
- -x 解开归档文件 -t 列表查看包内的文件(不释放解包)
- tar -tvf 4.tar -r 追加TAR文件至归档结尾
- tar -rvf 4.tar 5 把5加入4.tar
- -p 解包时保留原始文件及目录的权限
- -C (大) 解包时指定释放的目标文件夹
- -z 调用gzip 程序 进行解压或压缩 -j 调用bzip2 程序进行压缩或解压
- tar -cvzf test.tar.gz 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为gz
- tar -cvjf test.tar.bz2 被压缩的文件1 被压缩的文件2 创建归档压缩文件 后缀为bz2
- tar -xvzf test.tar.gz -C /usr/src 解压释放归档到 /usr/src 里面
- tar -xvjf test.tar.bz2 -C /usr/src 解压释放归档到 /usr/src 里面
添加用户账号
- useradd命令
- 格式:useradd [选项]... 用户名
- 常用命令选项
- -u:指定 UID 标记号
- -d:指定宿主目录,缺省为 /home/用户名
- -e:指定帐号失效时间
- -g:指定用户的基本组名(或UID号)
- -G:指定用户的附加组名(或GID号)
- -M:不为用户建立并初始化宿主目录
- -s:指定用户的登录Shell
[root@localhost ~]# useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
删除用户账号——userdel
- userdel命令
- 格式:userdel [-r] 用户名
- 添加 -r 选项时,表示连用户的宿主目录一并删除
[root@localhost ~]# userdel -r stu01
[root@localhost ~]# ls -ld /home/stu01/
查看进程
- Ps -aux 查看系统进程
- Top 动态查看系统进程
- Kill 1234 杀死进程1234
网络配置
-
Ifconfig eth0 192.168.1.20/24 临时修改eth0 网卡ip
-
Route –n 查看系统路由信息
-
Netstat 查看网络连接情况
-
netstat命令
-
查看系统的网络连接状态、路由表、接口统计等信息
-
格式:netstat [选项]
-
常用选项:
-
-a:显示所有活动连接
-
-n:以数字形式显示
-
-p:显示进程信息
-
-t:查看TCP协议相关信息
-
-u:查看UDP协议相关信息
-
-r:显示路由表信息
-
网络接口配置文件
-
/etc/sysconfig/network-scripts/目录下的
-
ifcfg-eth0:第1块以太网卡的配置文件
-
ifcfg-eth1:第2块以太网卡的配置文件
修改了配置文件要重启网络服务:
Service network restart
[root@localhost ~]# ls /etc/sysconfig/network-scripts/ifcfg-*
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-lo
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.4.1
NETMASK=255.255.255.0
GATEWAY=192.168.4.2
域名解析配置文件
/etc/resolv.conf
用途:保存本机需要使用的DNS服务器的IP地址
[root@localhost ~]# vi /etc/resolv.conf
search localdomain
nameserver 1.1.1.1
nameserver 8.8.8.8
Linux vi/vim
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:
命令模式:
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
以下是常用的几个命令:
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- : 切换到底线命令模式,以在最底一行输入命令。
- 若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
- 命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
在命令模式下按下i就进入了输入模式。
在输入模式中,可以使用以下按键:
- 字符按键以及Shift组合,输入字符
- ENTER,回车键,换行
- BACK SPACE,退格键,删除光标前一个字符
- DEL,删除键,删除光标后一个字符
- 方向键,在文本中移动光标
- HOME/END,移动光标到行首/行尾
- Page Up/Page Down,上/下翻页
- Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
- ESC,退出输入模式,切换到命令模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
- q 退出程序
- w 保存文件
- wq 保存并退出
- 按ESC键可随时退出底线命令模式。
Linux yum 命令
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
yum常用命令
- 列出所有可更新的软件清单命令:
yum check-update
- 更新所有软件命令:
yum update
- 仅安装指定的软件命令:
yum install <package_name>
- 仅更新指定的软件命令:
yum update <package_name>
- 列出所有可安裝的软件清单命令:
yum list
- 删除软件包命令:
yum remove <package_name>
- 查找软件包命令:
yum search <keyword>
- 清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
Linux apt 命令
- apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。
- apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
- apt 命令执行需要超级管理员权限(root)。
apt 常用命令
- 列出所有可更新的软件清单命令:
sudo apt update
- 升级软件包:
sudo apt upgrade
- 列出可更新的软件包及版本信息:
apt list --upgradeable
- 升级软件包,升级前先删除需要更新软件包:
sudo apt full-upgrade
- 安装指定的软件命令:
sudo apt install <package_name>
- 安装多个软件包:
sudo apt install <package_1> <package_2> <package_3>
- 更新指定的软件命令:
sudo apt update <package_name>
- 显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:
sudo apt show <package_name>
- 删除软件包命令:
sudo apt remove <package_name>
- 清理不再使用的依赖和库文件:
sudo apt autoremove
- 移除软件包及配置文件:
sudo apt purge <package_name>
- 查找软件包命令:
sudo apt search <keyword>
- 列出所有已安装的包:
apt list --installed
- 列出所有已安装的包的版本信息:
apt list --all-versions