Linux第一章:常用命令使用
Linux笔记整理
Linux介绍和环境搭建
什么是操作系统(OS)
-
OS作为用户与计算机系统之间的接口。
方式:(1)命令 (2)系统调用 (3)图形窗口
-
OS作为计算机系统资源的管理者。
计算机资源:处理器、存储器、I/O设备以及信息(数据和程序) OS主要功能:处理器管理、存储器管理、I/O设备管理、文件管理
操作系统的分类
-
桌面操作系统
主要用于个人计算机 . 从硬件架构分为: 1.PC机 2.Mac机 从系统软件分为: 1.Unix和类Unix操作系统:Mac OS X、Linux发行版(Ubuntu、CentOS)等 2.微软公司Windows操作系统:Windows 98、Windows XP、Windows 7等
-
服务器操作系统
主要用于大型计算机,如Web服务器、应用服务器、数据库服务器等。 1.Unix系列:SUNSolaris等 2.Linux系列:Red Hat Linux,Centos,Ubuntu等 3.Windows系列:Windows NT Server、Windows NT Server 2003等
-
移动端操作系统
ios Andriod HarmonyOS
什么是Linux
Linux,全称GNU/Linux,是一种免费使用和自由传播的类Unix操作系统,其内核由林纳斯 本纳第克特 托瓦兹 于1991年10月15日首次发布。
它主要受到minix和unix思想的启发,是一种基于POSIX(可移植操作系统接口)的多用户,多任务,支持多线程和多CPU的操作系统。
Linux操作系统的特点
稳定
开源免费
安全性能高
跨平台
多任务和多用户
Linux哲学思想
一切皆文件
一个程序只做一件事
Linux系统启动流程
1.内核的引导:打开计算机后,首先是BIOS开机自检,按照BIOS中设置的启动设备来启动,操作系统接管硬件之后,首先读取/boot目录下的文件
2.运行init:是系统中所有进程的起点,没有这个进程,系统中任何进程都不会启动
3.系统初始化:运行bash脚本,完成一些系统初始化的工作
4.建立终端:脚本执行完毕,返回init,这是系统环境变量已经设置好了,各种守护进程已经启动
5.用户登录系统:命令行登录,ssh登录(远程登录),图形化界面登录
Linux系统运行级别
运行级别0:系统停机状态,系统默认运行级别不能为0,否则无法正常启动
运行级别1:单用户状态,只有root用户
运行级别2:多用户状态,但没有nfs(网络文件系统)
运行级别3:完全的多用户状态,有nfs(网络文件系统)
运行级别4:系统未使用
运行级别5:登陆后进入图形化界面模式
运行级别6:系统正常关闭
YUM源搭建
YUM:yum(全称为:yellow dog updater modified)是一个在Fedora和Redhat以及CentOS中的shell前端软件包管理器,基于RPM包( 全名 RedHat Package Managerment,是由Red Hat公司提出,被众多Linux发行版本所采用,是一种数据库记录的方式来将所需要的软件安装到到Linux系统的一套软件管理机制)管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐的下载和安装。
yum源配置
软件源:在Linux中,源全称“软件源”,是Linux系统免费的应用程序安装仓库,包含了各类软件的二进制包和源代码或者发行版的ISO文件;软件源可以是网络服务器,是光盘,甚至是硬盘的一个目录。
1.本地源:可以无网络安装包,还可以自动解决依赖性关系。
2.网络源:需要网络下载。
3.RPM包可以无网络,但不可自动解决依赖性关系。
系统自带的是外网的yum源,改成本地源,也可以保护公司隐私。网络源可以去网上阿里云找。
配置本地源步骤:
1.创建本地源目录:mkdir /media/cdrom
2.挂载光盘:mount /dev/cdrom /media/cdrom
3.备份:cd /etc/yum.repos.d
mkdir bak
mv Centos-*.repo bak
4.重写本地源文件,开启yum源:如:vi Centos-Media.repo,将enable改成1即可
Linux基础命令
$: 表示当前登录为普通用户
su:表示切换用户
#:表示超级管理员用户
重启命令:
1.reboot
2.shutdown -r now(立即重启)
3.shutdown -r 10(10分钟后重启)
4.shutdown -r 21:00(九点重启)
5.shutdown -c(取消后台的重启命令)
关机命令:
1.poweroff
2.halt
3.shutdown -h now
4. 10
5. 21:00
6.shutdown -c(取消后台的关机命令)
查看当前所在文件夹:
pwd
清屏:
clear
退出系统:
exit logut
简单命令:
who:列出所有正在使用系统的用户、所用终端名和注册到系统的时间
date:显示系统的日期和时间
cal:显示公元1~9999年的任意一年或者任意一个月的日历
语法:
cal [月] [年]
注:不带任何参数为当前月份,只有一个参数被解释为年份
文件和目录相关命令
1.创建目录相关命令
语法:
mkdir [选项] 目录名
选项:
-p:递归创建
-v:显示创建过程
2.切换目录
语法:
cd [选项]
选项:
.进入当前目录
..进入当前目录的父目录
/进入根目录
~进入当前用户的主目录
3.删除目录
语法:
rmdir [选项]
选项:
-p:递归删除
-v:显示删除过程
4.移动或重命名命令
语法:
mv [选项] 源文件或者源目录 目标目录或者新的文件名或目录名
选项:
-f:强制移动不需要回复yes
-i:覆盖文件前提示
如:mv -f dd /tmp
mv dd dd1
5.复制命令
语法:
cp [选项] 源文件 目标文件
选项:
-r:递归复制
-i:覆盖文件前提示
6.删除命令
语法:
rm [选项] 文件或目录
选项:
-f:强制删除,不需要回复yes
-r:递归删除
7.列出目录内容
语法:
ls [选项]
选项:
-a:显示所有子目录和文件,包含隐藏文件
-l:以列表方式显示文件的详细信息
权限(目录-拥有者权限-组权限-其他用户权限)-硬链接数-拥有者-组-大小-时间-名称
-h:配合-l以人性化的方式显示文件大小
8.创建文件或修改文件时间
语法:
touch 文件名
如果文件不存在,可以创建一个空白文件
如果文件已经存在,可以修改文件的末次修改日期
9.查看文件内容
cat 文件名:查看文件内容、创建文件、、文件合并、追加文件内容等功能
一次显示所有内容,适合查看内容较少的文件
选项:
-b:对非空输出行编号
-n:对输出的所有行编号
more 文件名:分屏显示文件内容
分屏显示,适合查看内容较多的文件
空格键:显示下一屏
Enter键:一次滚动一行
b:回滚一屏
f:前滚一屏
q:退出
/word:搜索word字符串
less 文件名:与more相似,一次显示一页,可以前翻、后翻
操作:
回车键:显示下一行
空格键:显示下一页
q:退出
Pageup:往上翻一页
Pagedown:往下翻一页
head 文件名:显示开头若干行,默认为10
选项:
-n N或-N:显示前面N行或者除最后N行以外所有内容
-c N或-N:同上,字节
-q:不显示给定文件的标题
tail 文件名:显示文件最后若干行,默认为10
选项:
-n N或+N:显示最后N行或者从开头第N行开始显示
-c N或+N:同上,字节
-q:不显示给定文件的标题
10.统计、查找文件内容命令:
wc [选项] [文件]:统计指定文件的字节数、字数、行数,并显示
选项:
-c:字节数
-l:行数
-w:字数
grep [选项] 查找模式 文件名:搜索文本文件内容
选项:
-c:只显示文件中包含匹配字符串的行数
-i:匹配比较时不区分字母的大小写
-r:以递归方式查询目录下的所有子目录中的文件
-n:加上匹配的行的行号
-v:反向查询,显示不包含匹配字符串的文本行
-w:精确匹配(以单词匹配)
grep命令还可用于查找用正则表达式所定义的目标
^:指示一行的开头
$:指示一行的结束
.:代表任意单一字符
*:代表匹配零个或多个*之前的字符
?:代表匹配一个或多个?之前的字符
例子:
1.查找包含什么开头、什么结尾的字符串的行,字符串不用添加^$
2.查找什么开头、什么结尾的行,需要添加^$
注:这两种的查找都用单引号
10.其他命令
1)echo 文字内容:echo会在终端中显示参数指定的文字,通常和重定向联合使用
2)重定向>和>>:Linux允许将命令执行结果重定向到一个文件,将本应显示在终端上的内容输出/追加到指定文件中
其中:
<:表示输出,会覆盖文件原有内容
<<:表示追加,会将内容追加到已有文件末尾
3)管道|:Linux允许将一个命令的输出可以通过管道作为另一个命令的输入
常用管道命令:
more:分屏显示内容
grep:在命令执行结果的基础上查询指定的文本
链接文件命令
1.硬链接:在另外的目录或者本目录中增加目标文件的一个目录项
注:不能对目录文件做硬链接,不能在不同的文件系统之间做硬链接
2.软链接:将一个路径名链接到一个文件
注:软链接确实是一个新文件,而硬链接并没有建立新文件
软链接可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接
ln命令:用来创建链接
语法:
ln [选项] 源文件 目标文件
选项:
-s:建立符号链接,而不是硬链接
注:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,因此给符号链接文件设置存取权限是无意义的
用户权限相关命令
目标:
1):用户和权限的基本概念
2):用户管理终端命令
3):组管理终端命令
4):修改权限终端命令
1.基本概念:Linux中,每一个用户对于不同的系统资源拥有不同的使用权限
组:将不同的用户添加到对应的组中,不用依次为每一个用户设置权限
权限:
读 r 4
写 w 2
执行 x 1
2.超级用户
su:表示使用另一个用户的身份
sudo:以其他身份执行命令,预设身份为root,需输入密码
3.组管理终端命令:
注:创建组,删除组的终端命令都需通过sudo执行
01:groupadd 组名
选项:
-g:指定组编号
02:groupmod 组名
选项:
-g:修改组编号
-n:修改组名
03:groupdel 组名
04.cat /etc/group:查看组信息
注:/etc目录专门用来保存系统配置信息的目录
4.用户管理终端命令
注:创建用户/删除用户/修改其他用户密码的终端命令需通过sudo执行
01:useradd 用户名
选项:
-m:自动建立用户家目录
-g:指定用户所属组,否则会建立一个和其同名的组
-d:指定用户家目录
-u:指定用户编号
02:passwd 用户名:设置用户名密码
03.userdel 用户名
选项:
-r:自动删除用户家目录
04.usermod 用户名
选项:
-d:修改用户家目录
-g:修改用户所属组
-u:修改用户编号
-G:指定用户附加组
-s:修改用户登录shell 如:usermod -s /bin/bash 用户名
附加组:在/etc/group中最后一列表表示该组的用户列表,用于指定用户的附加权限。
注:默认使用useradd添加的用户是没有权限使用sudo以root身份执行命令的,可以使用usermod -G sudo 用户名将用户添加到sudo附加组中
05:cat /etc/passwd | grep 用户名:确认用户信息
06.id[用户名]:查看用户UID和GID信息
07.who:查看当前所有登录的用户列表
08.whoami:查看当前登录用户的账户名
passwd文件:
用户名;密码;UID;GID;用户全名或本地账号;家目录;登录使用的shell:就是登录之后使用的终端命令,终端命令在shell内部执行,不同shell命令不同
5.修改权限终端命令:
chmod:修改用户/组/其他对文件/目录的权限
语法:
chmod +/-rwx 文件名/目录名
如:chmod u+r g-w o+x a1
chmod u=rw g=x o=rwx a2
chmod 777 a3
chgrp:修改所属组
语法:
chgrp [选项] 组名 文件名
选项:
-R:递归修改
chown:修改所属用户和所属组
语法:
chown [选项] 用户[:组] 文件或目录
选项:
-R:递归修改
umask:用来设置限制新建文件权限的掩码
如:umask u=rwx,g=rx,o=rx
也可用八进制数设置mode,0777代表所有权限,执行umask 0022之后,默认权限变为0755
umask -S:表示以字符形式显示当前的掩码
联机帮助命令
1.man 命令名
功能:格式化并显示某一命令的联机帮助手册页
2.help 命令
功能:用来查看所有shell内置命令的帮助信息
说明:有些命令构造在shell内部,从而在shell环境内部执行。这种命令称为shell内置命令(内部命令)
有关进程管理的命令
1.ps [选项]
功能:查看进程状态的最常用命令,可以提供关于进程的许多信息
选项:
-a:显示系统中与终端tty相关的所有进程的信息;当与选项x一起使用时,显示所有进程的信息
-u:显示面向用户的格式(包括用户名、CPU及内存使用情况等信息)
-x:显示所有非控制终端上的进程信息;当与选项a一起使用时,显示所有进程的信息
2.kill [-s 信号] 进程号
功能:通过向进程发送指定的信号来结束相应进程的运行
选项:
-s:指定需要发送的信号,既可以是信号名(如kill),也可以是对应信号的号码(如9)
如:kill -s 9 进程号
3.sleep 时间值
功能:暂停一段时间
说明:"时间值"参数以秒为单位,即让进程暂停由时间值所指定的秒数
其他命令
1.gzip [选项] [name...]
功能:用来对文件进行压缩和解压缩
选项:
-d:将被压缩的文件.gz 进行解压缩
-l:显示每个压缩文件的信息
-r:递归地压缩或者解压缩
-v:对每个压缩文件和解压缩文件,显示其文件名和压缩比
2.df [选项]
功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘占用情况和剩余情况
选项:
-a:显示所有的文件系统的使用情况
-h:以容易理解的方式显示的文件系统情况
3.du [选项] [目录]
功能:查询文件或目录的磁盘使用情况
选项:
-a:显示全部目录和其次目录下的每个档案所占的磁盘空间
-b:大小用bytes表示(默认值为k bytes)
-c:最后再加上总计
-h:以容易理解的方式显示
4.fdisk [选项] [磁盘设备]
功能:查看磁盘分区情况
选项:
-l:显示详细信息
远程管理相关命令
目标:
- 查看或配置网卡信息
- ifconfig
- ping
- 远程登录和复制文件
- ssh
- scp
查看或配置网卡信息
1.ifconfig:查看/配置计算机当前的网卡配置信息
如:ifconfig | grep inet:查看网卡对应的ip的地址
2.ping ip地址:检测到目标ip地址的连接是否正常
如:ping 127.0.0.1:检测本地网卡工作正常
127.0.0.1:称为本地回环/环回地址,一般用来测试本机网卡是否正常
3.网卡:一个专门负责网络通讯的硬件设备
4.ip地址:设置在网卡上的地址信息
远程登录和复制文件
ssh 用户名@ip :关机/重新启动
scp 用户名@ip:文件名或路径 用户名@ip:文件名或路径 :远程复制文件