Linux入门
概述Linux本质是一个OS,图标是一只企鹅,叫Tux。
Linux发行版本:
[*]Red Hat:收费版 RHEL(Red Hat Enterprise Linux),免费版 fedora(实验版) 和 CentOS。
[*]debian➡ubantu➡Linux Mint,都免费。
[*]SUSE:收费版 SEL(SUSE Enterprise Linux),免费版 open SUSE。
[*]其他:gentoo linux,archlinux➡manjaro。
Linux系统中一切皆文件:
/bin:Binary,存放常用命令
/sbin:Super User Binary,系统管理员的命令
/home:普通用户的目录,每个用户在此目录下有一个以账号命名的文件夹
/root:系统管理员的目录
/lib:系统的基础共享库,几乎所有的程序都用到
/lost+found:一般为空,系统非法关机后会存放一些文件
/etc:配置文件
/usr:用户的很多程序和文件放在此处,类似windows的program files
/boot:存放启动Linux的核心文件,自己安装的别放这
/proc:一个虚拟的目录,是系统内存的映射
/srv:service,存放一些服务启动之后的需要提取的数据
/sys:存放了2.6内核中新出现的一个文件系统sysfs
/tmp:存放临时文件
/dev:类似Windows的设备管理器,将所有硬件用文件形式存储
/media:Linux会将自动识别的设备(U盘、光驱)挂载到此目录下
/mnt:用来让用户挂载别的文件系统
/opt:安装额外软件的目录,比如MySQL
/var:存放不断扩充或经常被修改的东西,比如日志文件
/selinux:SELinux是一种安全子系统,能控制程序只能访问特定文件
Vim
Vim是类Unix系统最常用的文本编辑器
安装命令:
yum -y install vim使用Vim打开文件:
vim a.txt三种模式
[*]一般模式
[*]打开文件后默认的模式
[*]可以删除、复制、粘贴
[*]但是无法编辑文件内容
[*]编辑模式
[*]一般模式下按进入的模式
[*]可以进行文件的编辑
[*]Esc退回一般模式
[*]命令模式
[*]一般模式下按[?、/、:]进入的模式
[*]可以输入一些指令进行操作
[*]比如查找、替换、保存、退出、显示行号等操作
[*]Esc退回一般模式
常用命令
一般模式:
指令功能yy复制当前行y 数字 y从当前行开始复制n行dd删除当前行d 数字 d从当前行开始删除n行p在光标所在行的下一行粘贴u撤销^光标移到行头$光标移到行尾gg光标移到页头G光标移到页尾数字 + G光标移到目标行yw复制一个单词dw删除一个单词X删除一个字母,向前删,类似Backspacex删除一个字母,向后删,类似Del编辑模式:
指令功能i光标前插入I光标所在行的行头插入a光标后插入A光标所在行的行尾插入o下一行插入O上一行插入命令模式:
指令功能:w保存:q退出:!强制执行:%s/旧字符串/新字符串查询替换/字符串查找字符串?字符串查找字符串:set nu显示行号:set nonu不显示行号ZZ:nohl去除高亮显示服务管理命令
临时服务管理
命令功能systemctl --type service查看所有运行中的服务systemctl start 服务名开启服务systemctl stop 服务名停止服务systemctl restart 服务名重启服务systemctl status 服务名查看服务状态服务自启管理
命令功能systemctl list-unit-files查看所有服务自启配置systemctl enable 服务名开启服务自启systemctl disable 服务名关闭服务自启systemctl is-enabled 服务名查看某个服务自启状态建议关闭防火墙自启动
systemctl disable firewalld 关机&重启
命令功能sync将数据从内存同步到硬盘poweroff关闭系统,等价 shutdown -h nowreboot重启系统,等价 shutdown -r nowshudown [选项] [参数]
[*]选项
[*]-h 关机,即 halt
[*]-r 重启,即 reboot
[*]参数
[*]now,立刻
[*]数字,多久后执行,单位分钟
[*]还可以显示提示信息,比如
shutdown -h 3 '系统会在3分钟后关机'
常用快捷键
按键功能Ctrl + c停止进程Ctrl + l清屏,等价命令 clear
彻底清屏是 resetTab提示,防止输错上下键复用执行过的命令Ctrl + AltLinux 和 Windows 之间切换文件目录类
man 获得帮助信息
man 命令名
[*]man 即 manual,手册
help 获得shell内置命令的帮助信息
help 命令名
pwd 显示当前目录的绝对路径
# pwd
/rootls 列出目录的内容
ls [选项] [目录]
[*]选项
[*]-l 列出详细信息,简写为 ll
[*]-a 同时列出隐藏文件
[*]目录
[*]相对路径或绝对路径
[*]若不指定,默认当前目录
文件类型和权限链接数文件属主文件属组文件大小(byte)创建或最近修改时间文件名drwxr-xr-x.2rootroot40965月17 17:47test注意:链接包括硬链接和软链接,文件自身就是一个硬链接,所以链接数都至少为1
cd 切换路径
cd [参数]
参数cd 相对路径/绝对路径切换目录cd ~ 或 cd回到当前用户的家目录cd ..切换到上一级目录cd -切换到上一次所在目录cd -P跳转绝对物理路径,而非快捷方式路径mkdir 创建目录
mkdir [选项] [目录]
[*]选项
[*]-p 创建多层目录
touch 创建空文件
touch [文件名]
[*]可以直接写文件名,会在当前目录下创建
[*]也可写任意已存在目录的路径,在其下创建
cp 复制文件
cp [选项] [源文件或目录] [目标文件或目录]
[*]选项
[*]-r 递归复制整个文件夹
[*]若源文件与目标重名,可选择是否覆盖,也可以用 \cp 命令强制覆盖不提示
rm 删除目录或文件
rm [选项]
[*]选项
[*]-r 递归删除目录所有内容
[*]-f 强制执行不提示
[*]-v 显示指令的详细执行过程
mv 重命名或移动文件
mv oldFile newFile 重命名文件
mv source dest 移动文件
cat 查看小文件
cat [选项] [文件]
[*]一般用来查看一屏可以显示全的文件
[*]选项
[*]-n 查看内容时显示行号
less 查看大文件
[*]不是一次性加载,而是根据现实需要来加载内容,适于大文件
[*]pageup、pagedown翻页
[*]?或/查询文件中是否包含某内容
[*]q离开less程序
echo 向控制台输出内容
echo[选项] [内容]
[*]选项
[*]-e 支持转义字符,比如\t、\n
head 输出文件头部内容
head [选项] [文件]
[*]默认显示文件前十行的内容
[*]选项
[*]-n 指定显示前多少行内容
tail 输出文件尾部内容
[*]默认显示文件尾部十行的内容
[*]选项
[*]-n 指定显示尾部多少行内容
[*]-f 实时追踪该文档的所有更新,经常用来查看日志
> 覆盖 和 >> 追加
ll > a.txt 将ll命令查到的内容覆盖到a.txt中
cat t.txt >> a.txt 将t.txt中的内容追加到a.txt的末尾
ln 软链接
ln -s [源文件或目录] [软链接名]
[*]软链接命名时,可指定创建目录
tar 压缩解压
压缩:tar -zcvf压缩包名.tar.gz需要压缩的内容
[*]设定压缩包名时,可指定压缩包的位置
解压:tar -zxvf压缩包-C 目录
[*]-C用来指定解压的位置
[*]若不加-C,解压到当前目录
选项说明:
[*]-z 打包同时压缩
[*]-c 产生.tar打包文件
[*]-x 解包.tar文件
[*]-v 显示详细信息
[*]-f 指定压缩后的文件名
用户管理类
useradd 添加用户
useradd 用户名
[*]添加新用户
useradd -g 用户组 用户名
[*]添加新用户到某个组
groupadd 添加组
groupadd 用户组名
passwd 修改用户密码
passwd 用户名
[*]设置或更改用户密码
id 查看用户信息
id 用户名
[*]查看用户信息
打开/etc/下的passwd文件能查看创建了哪些用户
打开/etc/下的group文件能查看创建了哪些组
su 切换用户
su 用户名
[*]切换到某个用户
[*]只能获得执行权限,不能获得环境变量
[*]每次切换用户都会嵌套启动一个新的线程,需要用exit一层层退出来
su - 用户名
[*]同时获得执行权限和环境变量
sudo 使用root权限
sudo 让普通用户使用root权限执行一些命令
[*]在/etc/下的sudoers文件91行的root下面添加内容
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zhangsan ALL=(ALL) ALL
[*]或者配置成采用sudo命令时,不需要输入密码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zhangsan ALL=(ALL) NOPASSWD:ALL
userdel 删除用户
userdel 用户名
[*]删除某个用户但保留用户主目录
userdel -r 用户名
[*]删除某个用户同时删除用户主目录
groupdel 删除组
groupdel 用户组名
usermod 修改用户属组
usermod -g 用户组名 用户名
[*]修改用户所在组,给定的组必须存在
groupmod 修改用户组名
groupmod -n 新组名 旧组名
who 查看当前用户
whoami 显示当前的用户名称
who am i 显示登录时的用户名称
文件权限类
文件属性
ll命令可以查看文件权限,如果没有该权限,对应位置显示 -
文件类型属主权限U属组权限G其他用户权限Od / l / -r-w-xr-w-xr-w-x目录 / 软链接 / 文件读-写-执行读-写-执行读-写-执行rwx作用到文件
[*]r:可读,可以读取、查看
[*]w:可写,可以编辑修改,但不可删除,删除文件需要对文件所在目录有写权限
[*]x:可被系统执行
rwx作用到目录
[*]r:可读,可以ll查看目录内容
[*]w:可写,目录内创建、删除、重命名文件
[*]x:可以进入该目录
chmod 修改文件权限
方式一:chmod [{u g o a} {+ - =} {r w x}] [文件或目录]
[*]u g o a 对应 属主 属组 其他用户 全部
[*]+ - = 对应 增加 删除 设置
[*]r w x 对应 读 写 执行
方式二:chmod [文件或目录]
[*]r w x 分别赋值 4 2 1
chown 改变所有者
chown [选项] [最终用户] [文件或目录]
[*]修改文件或目录(不包括子文件或子目录)的所有者
[*]选项
[*]-R 修改目录的同时作用到其下所有子文件
chgrp 改变所在组
chgrp [最终用户组] [文件或目录]
搜索查找类
find 条件查找
从指定目录下递归的遍历所有文件即子目录
find [搜索范围] [选项]
[*]选项
[*]-name 根据指定文件名查找
[*]-user 根据指定用户名查找
[*]-size 根据指定文件大小查找
grep 过滤查找
通常结合管道符 | 一起使用
选项 -n 显示匹配行和行号
which 查看命令位置
which ll 查看ll命令在哪个文件夹内
进程线程类
ps 查看系统进程
ps -aux | grep xxx 查看系统所有进程,可以查看CPU和RAM占用率
ps -ef | grep xxx 可以查看父子进程之间的关系
kill 终止进程
kill [进程号]
[*]通过进程号杀死进程
[*]选项 -9 强迫进程立即停止
killall [进程名称]
[*]通过进程名杀死进程,支持通配符
[*]用于系统负载过大变得缓慢时
netstat 查看进程网络信息
netstat -anp | grep 进程号
[*]查看进程的网络信息
netstat -nlp | grep 进程号
[*]查看网络端口号的占用情况
选项
[*]-n 不显示别名,能显示数字的全部转化数字
[*]-l 仅列出处于监听下的服务状态
[*]-p 显示正在被哪个进程调用
时间日期类
date 显示当前时间
date [选项] [日期格式] 解释:显示当前时间 日期
date #显示当前时间
date +%Y #显示当前年份
date +%m #显示当前月份
date +%d #显示当前是本月的哪一天
#组合,根据设定格式显示年月日时分秒,加号别忘了,注意大小写,不能有空格,除非加引号
date +%Y-%m-%d-%H:%M:%S
date +%Y-%m-%d %H:%M:%S #达咩,更正如下
date +%Y-%m-%d" %H:%M:%S" #date显示非当前时间
date -d '2 days ago' #前天时间,单引号
date -d '-1 days gao' #明天时间#date设置系统时间
date -s "2017-5-2 19:32:13"#显示时间戳
date +%scal 显示日历
cal [选项] 解释:查看日历,不加选项显示本月日历
cal #显示本月日历
cal 2017 #显示2017年的日历
cal -y #显示本年日历crontab系统定时任务
crontab [选项]
#首先查看守护进程crond服务是否开启
systemctl status crond选项
[*]-e 编辑crontab定时任务
[*]此命令会进入vim编辑界面,设置定时任务
[*]-l 查询所有的crontab任务
[*]-r 清空当前用户的所有crontab任务
vim编辑界面中,任务格式为* * * * * 执行的任务
*含义范围第一个 “ * ”一个小时中的第几分钟0—59第二个 “ * ”一天当中的第几小时0—23第三个 “ * ”一个月当中的第几天1—31第四个 “ * ”一年当中的第几个月1—12第五个 “ * ”一周当中的星期几0—7(0 7都代表周日)此外,还有一些特殊符号
特殊符号含义*代表任何时间。比如第二个*代表一天中每小时都执行一次,代表不连续的时间。比如 “0 8,12,16 * * *”代表每天的8点12点16点0分都执行一次-代表连续的时间范围。比如“0 5 * * 1-6”代表在周一到周六的凌晨5点执行一次*/n代表每隔多久执行一次。比如“*/2 * * * *”代表每隔2分钟就执行一次命令软件管理类
RPM 包管理
RPM(RedHat Package Manager),RedHat软件包管理工具,类似win里的setup.exe,是Linux里的打包安装工具。
名称格式
Apache-1.3.23-11.i386.rpm
"Apache"
[*]软件名称
"1.3.23-11"
[*]软件版本号,主版本和此版本
"i386"
[*]软件运行的硬件平台,Intel 32位处理器的统称
"rpm"
[*]文件扩展名,代表RPM包
查询命令
rpm -qa 解释:查询安装的所有rpm软件包
rpm -qi 【软件】 解释:查询某个软件的详细信息
卸载命令
rpm -e 【软件包】 解释:卸载软件包,不用写全名,软件名就可以了
rpm -e --nodeps 【软件包】 解释:不检查依赖,强行卸载,会导致使用该包的软件无法工作
安装命令
rpm -ivh 【RPM包全名】
选项作用-iinstall,安装-v--verbose,显示详细信息-h--hash,显示进度条--nodeps安装前不检查依赖YUM 仓库管理
YUM是一个Shell前端软件包管理器,基于RPM包管理,能从指定服务器自动下载RPM包并安装,可以自动处理依赖性关系,并且一次性安装所有依赖包,无需繁琐的一次次下载安装。
基础命令
yum 【选项】【参数】
选项
[*]-y 对所有提问都回答"yes"
参数作用install安装rpm软件包update更新rpm软件包remove卸载check-update检查是否有可用更新包list显示软件包信息clean清理yum过期的缓存deplist显示yum软件包的所有依赖关系
来源:https://www.cnblogs.com/sipierpoke/p/17421583.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页:
[1]