linux
一
Linux命令基础格式
command [-options] [parameter]
command:命令本身
options:[可选的、非必填的]命令的一些选项,可以通过选项控制命令的一些行为细节
parameter:[可选的、非必填的]命令的参数,多用于命令的指向目标等
语法中的[]表示可选、非必填的意思
命令集
ls命令
ls[-a -l -h][Linux路径]
-a -l -h 是可选项;-a表示all,即列出全部文件,包括隐藏文件/文件夹(.开头的文件/文件夹);-l表示以列表的形式展示内容,并展示更多信息;-h表示以易于阅读的形式列出文件大小,必须与-l同时使用
Linux 路径是此命令可选的参数
当不使用选项和参数的时候,表示直接将结果以平铺的形式,列出当前工作目录下的内容(文档、文件夹、软件等;选项是可以组合使用的,例如-lh -al -ah 前后顺序无影响
cd切换目录命令
cd [路径]
cd命令只需选项,无需参数,表示要切换到那个目录下
cd命令只写命令,不写参数,表示回到用户的HOME目录下
pwd查看当前工作目录
pwd命令无需参数,无需选项,直接输入pwd,打印当前工作目录
mkdir命令
mkdir[-p][linux路径]
参数必填,表示创建的目录(文件夹)的位置,绝对路径和相对路径均可
-p可选项,表示自动创建不存在的父目录,适用于创建连续多层级的目录
touch创建文件
touch [路径]
touch命令无选项,路径必填,表示要创建的文件的路径,相对、绝对、符号,均可使用
cat查看文件
cat [路径]
cat命令无选项,路径必填,表示要查看的文件的路径,相对、绝对、符号,均可使用
more查看
more与cat不同的是,cat是直接将所有的内容全部打印出来,more如果文件内容过多可以翻页查看(空格翻页,q退出)
cp命令复制文件(夹)
cp[-r][参数一][参数二]
-r,可选,复制文件夹使用,表示递归
参数一:Linux路径,表示要复制的文件
参数二:Linux路径,表示要复制到的位置
mv移动文件
mv[参数一][参数二]
参数一:linux路径,被移动的文件
参数二:linux路径,移动的目标位置,若不存在则将被移动文件的文件名改为参数二的内容
rm
rm[-r -f][参数一 参数二 参数三.....参数N]
同cp命令一样-r表示删除文件夹
-f表示force,强制删除文件夹,不会弹出提示确认信息
参数一...表示要删除的文件或文件夹路径,空格隔开
which命令
通过which命令查找所用命令的程序文件存放在哪里
which [查找的命令]
find命令-按照文件名查找文件
find[起始路径]-name["文件名"]
find[起始路径]-size +|- n[kMG(文件大小)]
+-表示大于和小于
n表示数字
kMG表示单位,kB(k小写)、MB、GB
小结:which和find的区别
- which:主要用于查找命令的路径,适用于快速定位可执行文件,查找范围限于 PATH 环境变量中的目录。
- find:功能更强大,可以查找任意类型的文件,并支持多种查找条件,适用于更复杂的文件查找需求
grep
grep[-n]关键字 文件路径
-n 可选 表示在结果中显示匹配的行的行号
关键字 必填 表示过滤的关键字,带有空格或其他特殊符号时,建议用""将关键字包围起来
文件路径 表示要过滤的文件路径,可作为管道符内容输入端口
wc做数量统计
可以通过wc命令统计文件的行数、单词数量等
wc[-c -m -l -w]文件路径
-c 统计字节bytes数量
-m 统计字符数量
-l 统计行数
-w 统计单词数量
文件路径 被统计的文件,可作为管道符内容输入端口
管道符|
将左边命令的结果作为右边命令的输入
echo输出
echo[输出内容]
重定向符">"、">>"
">"将左侧命令覆盖写入到右侧指定文件中
">>"将左侧命令追加写入到右侧指定文件中
tail
可以查看文件尾部内容,并可以持续跟踪
tail[-f -num]linux路径
-f 持续跟踪
-num 启动时查看文件多少行,默认10行
linux路径,表示被查看的文件
vi/vim编辑器
三种模式
- 命令模式:命令模式下所敲得按键都理解为命令,以命令驱动不同的功能。此命令下不能进行自由文字编辑模式
- 输入模式:也就是所谓的编辑模式、插入模式,可以对文件内容进行自由编辑
- 底线命令模式:以“:”开始,通常用于文件的保持、退出
命令模式
如果需要通过vi/vim编辑器编辑文件,请通过如下命令:vi(m) 文件路径
vim兼容全部的vi功能,后续全部使用vim命令
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令用于编辑已有文件
在命令模式内,按i进入输入模式;在输入模式内按esc会进入命令模式;在命令模式内按:进入底线命令模式;在底线命令模式输入wq保存文件并退出vim编辑器
linux用户
为普通用户配置sudo认证
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在root ALL = (ALL) NOPASSWD: ALL的最后添加:用户名 ALL = (ALL) NOPASSWD: ALL 大概在101行
- 其中NOPASSWD:ALL表示使用sudo命令,无需输入密码,若需要输入密码,不需要添加NOPASSWD:
- 最后通过wq保存
- 切回普通用户
- 执行的命令均以root运行
用户组管理
以下命令需root用户执行
- 创建用户组
groupadd - 删除用户组
groupdel - 创建用户
useradd[-g -d]用户名- -g指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已存在,如已存在同名组,必须使用-g
- -d指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
- 删除用户
userdel[-r]用户名- -r删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
- 查看用户所属组
id[用户名]- 参数:用户名,被查看的用户,如果不提供则查看自身
- 修改用户所属组
usermod-aG[用户组][用户名],将指定用户加入指定用户组
getent
使用getent,可以查看当前系统中有那些用户及用户组
getent passwd(用户)
用户名:密码:用户ID:组ID:描述信息:HOME目录:执行终端(默认bash)
getent group(用户组)
组名称:组认证(显示为X):组ID
whoami 查看当前用户名称
权限信息
[-/d/l][r/-][w/-][x/-][r/-][w/-][x/-][r/-][w/-][x/-]
1:-表示文件,d表示文件夹,l表示软链接
2、3、4:所属用户的权限
5、6、7:所属用户组的权限
8、9、10:其他用户的权限
- r表示读权限
- w表示写权限
- x表示执行权限
chmod
注意,只有文件、文件夹的所属用户或root用户可以修改
修改权限
chmod[-R]权限 文件或文件夹
-R 对文件夹内的全部内容应用同样的操作
例如:chmod u=rwx,g=rx,o=x hello.txt 将文件权限修改为:rwxr-x--x
- 其中:u表示user所属用户权限,g表示group组权限,o表示other其他用户权限
普通用户无法修改所属其他用户或组,所以此命令只适用于root用户执行
修改所属
chmod [-R] [用户][:用户组] 文件或文件夹
快捷键
- 强制停止
- ctrl+c //可以停止程序运行,也可以退出当前命令的输入
- 退出或登出
- ctrl+d //可以退出账号的登录,也可以退出某些特定程序的专属页面(例如:python的编程语言的相关界面),但不能退出vi/vim
- 历史命令搜索
- history//可以通过!命令前缀,自动匹配上次执行匹配前缀的命令
- ctrl+r//输入内容去匹配历史命令
- 如果得到的命令是需要的。可以回车直接执行;也可以键盘左右键,得到此命令不执行
- 光标移动快捷键
- ctrl+a,跳到命令开头
- ctrl+e,跳到命令结尾
- ctrl+键盘左键,向左跳一个单词
- ctrl+键盘右键,向右跳一个单词
yum命令
yum:RPM包软件管理器,用于自动化安装Linux软件,并可以自动解决依赖问题
yum [-y][install|remove|search] 软件名称
选项:-y,自动确认,无需手动确认安装或卸载过程
install:安装
remove:卸载
search:搜索
yum命令需要root权限,可以使用su -切换到root,或使用sudo提升权限
yum命令需要联网
systemctl命令
systemctl [start|stop|status|enable|disable] 服务名
- start 启动
- stop 关闭
- status 查看状态
- enable 开启开机自启
- disable 关闭开机自启
Linux系统很多软件支持使用systemctl命令控制:启动、停止、开机自启,能够被systemctl管理的软件,也被称为:服务
系统内置的服务比较多,比如 - NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd,ssh服务(finalshell远程登录Linux就是使用的这个服务)
ln命令 创建软链接(类似于windows中的快捷方式)
ln [-s][参数一]~[参数二]
- -s选项,创建软链接
- 参数一:被链接的文件或文件夹
- 参数二:要链接去的目的地
date命令
通过date命令可以在命令行中查看系统的时间
date [-d][+格式化字符串]
- -d按照给定的字符串显示日期,一般用于日期计算
- 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
- %Y 年
- %y 年份后两位数字(00->99)
- %m 月份(01->12)
- %d 日(01->31)
- %H 小时(00->23)
- %M 分钟(00->59)
- %S 秒(00->59)
- %s自 1970-01-01 00:00:00UTC——>到现在的秒数
ntp程序(服务) 自动校准系统时间
安装:ntp:yum -y intsall ntp
设置开机自启:
- systemctl start ntpd
- 手动校准(需root权限):ntpdate -u ntp.aliyun.com
linux查看修改主机名
hostname查看主机名
hostnamectl set-hostname [主机名],修改主机名,需要root权限
ping命令
可以通过ping命令,检查指定的网络服务器是否是可联通状态
ping [-c num] ip或主机名
- 选项:-c,检查的次数,不使用-c选项,将无限次持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
wget命令
wget是非交互式的文件下载器,可以在命令行内下载文件
wget [-b] url
- 选项:-b,可选,后台下载,会将日志写到当前工作目录的wget-log文件中
- 参数:url,下载链接
curl命令
curl可以发送http网络请求,可用于:下载文件、获取信息等
curl [-O] url
- 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 参数:url,发起请求的网络地址
查看端口占用
- 使用nmap命令,安装nmap:yum -y install nmap
nmap 被查看的IP地址
- 可以通过netstat命令,查看指定端口的占用情况
netstat -anp|grep 端口号,安装netstat:yum -y install net-tools
查看进程
- ps命令:ps [-e -f]
选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是:ps -ef 列出全部进程的全部信息
从左到右分别是 - UID:进程所属的用户ID
- PID:进程的进程号ID
- PPID:进程的父ID(启动此进程的其他进程)
- C:此进程的CPU占用率(百分比)
- TTY:启动此进程的终端序号,如显示?,表示非终端启动
- TIME进程占用CPU的时间
- CMD:表示进程对应的名称或启动路径或启动命令
查看指定进程,与管道符配合使用,ps -ef|grep tail,即可查看指定进程
关闭进程
kil [-9][进程ID]
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制
查看系统资源占用
可以通过top命令查看CPU、内存使用情况
默认每五秒刷新一次,直接输入top即可,按q或ctrl+c退出
磁盘信息监控
-
使用df命令,可以查看硬盘的使用情况
语法:df [-h]
选项:-h,以更人性化的单位显示 -
可以使用iostat查看CPU、磁盘的相关信息
语法:iostat[x][num1][num2]
选项:-x,显示更多信息
num1:数字,刷新间隔
num2:数字,刷新次数
网络状态监控
- 可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅用于简单的统计网络)
语法:sar -n DEV num1 num2
选项:-n,查看网络,DEV表示查看网络接口
num1:刷新间隔(不写就查看一次结束),num2:查看次数(不填无限次数)
修改环境变量
- 临时生效:export 名称=值
- 永久生效:
- 针对当前用户:~/bashrc文件中配置
- 针对全部用户:~/etc/profile文件中配置
- 配置完成,可以通过source命令立刻生效
rz、sz命令
需要通过yum-y install lrzsz进行安装
-
rz命令,进行上传,语法:输入rz,接着会弹出上传窗口
-
sz命令进行下载,语法:sz 要下载的文件
tar命令
语法:tar [-c -v -x -f -z -C]参数1 参数2 参数3 ..... 参数n
- -c,创建压缩文件,用于压缩模式
- -v,显示压缩、解压过程,用于查看进度
- -x,解压模式
- -f,要创建的文件,或要解压的文件,-f选项必须在所有选项中处于最后一个
- -z,gzip模式,不使用-z就是普通的tarball格式,如果使用一般情况下位于选项位的第一个
- -C,选择解压的目的地,用于解压模式
zip命令压缩文件
可以使用zip命令,压缩文件为zip压缩包
语法:zip [-r] 参数1 参数2...参数N
- -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致
unzip命令解压文件
使用unzip命令,可以方便的解压zip压缩包
语法:unzip [-d] 参数
- -d,指定要解压去的位置,同tar的-C选项
- 参数,被解压的zip压缩包文件
hostname修改主机名称及修改网络映射名
- 使用 vim /etc/hostname 命令,修改该文件内容,该内容即为主机名
- 使用 vim /etc/hosts 添加ip地址以及修改后的主机名 中间使用空格隔开
时间日期类命令
- 基本语法
- date 显示当前时间
- date +%Y 显示当前年份
- date +%m 显示当前月份
- date +%d 显示当前是那一天
- date "+%Y-%m-%d %H:%M:%S" 显示年月日时分秒
- date -d "[-+]n(时间前移或后推n)Ymd [单位对应的英文] " "时间格式模板"
例: date -d "-10 month" "+%Y-%m-%d %H:%M:%d" 以%Y-%m-%d %H:%M:%d的形式输出10个月前的日期 - date -s 01:01:01 # 设置具体时间,不会对日期做更改
- date -s "01:01:01 2012-05-23" # 这样可以设置全部时间
- date -s "2012-05-23 01:01:01" # 这样可以设置全部时间
- date -s "20120523 01:01:01" # 这样可以设置全部时间
df查看磁盘空间使用情况
参数:
-h:以人们较易阅读的GBytes,MBytes,KBytes等格式自行显示
-l:显示所有硬盘的分区列表
fdisk 查看分区
-l:显示所有硬盘的分区列表
挂载
步骤:
- 创建挂载点(挂载文件夹)
- 挂载 挂载语句:mount /dev/cdrom /mnt/cdrom (将/dev/cdrom 下的内容挂载到 /mnt/cdrom下)
- 去挂载 umount /mnt/cdrom (将/mnt/cdrom下的内容去挂载)
自动挂载
假设你想将 /dev/sdb1 挂载到 /mnt/data,文件系统类型为 ext4,挂载选项为 defaults,你可以在 /etc/fstab 中添加如下行:
/dev/sdb1 /mnt/data ext4 defaults 0 0
查看进程ps
ps -ef 及 ps -aux
-ef查看的是简单列表
-aux可以查看cpu 内存占用率等,内容更详细,更全面
kill命令,杀死进程
kill 【进程号】 杀死(进程号)进程
kill -9 【进程号】 强制杀死(进程号)进程
系统定时任务命令
systemctl restart crond 重新启动crond服务
- crontab 定时任务设置
基本语法 :crontab [选项]
选项说明 :
-e :编辑crontab定时任务
-l :查询crontab任务
-r :删除当前用户所有的crontab任务

rpm
rpm是什么
rpm,Redhat软件包管理工具,类似windows里面的setup.exed。是Linux这系列操作系统里面的打包安装工具,他虽然是Redhat的标志,但理念是通用的
rpm包的名称格式
APache-1.3.23-11.i386.rpm
- -"apache"软件名称
- -"1.3.23-11"软件的版本号,主版本和次版本
- -"i366"是软件所运行的硬件平台,Intel 32为微处理器的统称
- -"rpm"文件扩展名,代表rpm包
rpm查询命令
- 基础语法
rpm -qa (查询所安装的所有rpm软件包)
rpm -ql 服务名(查看安装位置)
- 经验技巧
由于软件包比较多,一般都会采取过滤,rpm -qa|grep rpm软件包
- 实操案例
- 查询firefox软件安装情况
rpm -qa |grep firefox
rpm卸载命令
- 基本语法
rpm -e 软件包
rpm -e --nodeps 软件包
- 选项说明
| 选项 | 功能 |
|---|---|
| -e | 卸载软件包 |
| -- nodeps | 卸载软件时不检查依赖,这样的话,哪些使用该软件包的软件在此之后可能就不能正常工作了 |
- 实操案例
- 卸载firefox软件
rpm -e firefox
rpm 安装命令
- 基本语法
rpm -ivh rpm 包全名
- 选项说明
| 选项 | 功能 |
|-------|---------|
| -i | -i=install,安装 |
| -v | -v = verbose ,显示详细信息 |
| -h | -h = hash ,进度条 |
| --nodeps | --nodeps,不检测依赖进度 |
yum
什么是yum
YUM是一个在Fedora和Redhat以及Centos中的shell前端软件包管理器,基于rpm包管理,能够从指定的服务器自动下载rpm包并安装,可以自动处理依赖性关系,并且一次安装所有以来的软件包,无需频繁的一次次下载安装,该功能类似手机中的应用商店,通过网络下载程序安装包即可,功能类似在Java中使用MAVEN工具从远程仓库中下载依赖一样,可以自动处理依赖关系
浙公网安备 33010602011771号