Linux初学

Linux介绍

他跟我们平常使用的windos操作系统一样,也是一个操作系统

Linux有三千多条命令,但是我们不需要全部都学,只需要学习差不多100多条就行了

 

最起码一些常用的命令要敲5、6遍

安装虚拟机VMware

VMware可以去网上搜索下载

这样就算安装成功了

 安装CentOS安装

创建虚拟机

点击启动

这样是成功的,如果是下面这样的则有错误

这里选择英文,因为进去也是一些命令行,不会出现中文的

管理员账户设置这里我的密码admin 都是最简单的,然后等待就行了

然后点击重启就行了

然后到这个界面就算重启成功了

输入账号密码 root admin

然后进入这个界面,输入ip addr命令

记住这个ip 192.168.241.129/24当然这个ip是我的,你们记住自己的就行了,我们还有学习一个ssh协议

SSh工具安装

下载SecureCRT软件

输入你刚才记的ip和用户名,其他不用管,点击连接

点击确定,进入到下面界面,我们输入 ip addr ,发现跟虚拟机上的输出的一样,这样就连接好了

这里不是中文,我们可以配置一下

字符编码改成utf-8,其他的样式自行设置

这样就配置成功了,以后都会用到这个工具

系统的目录结构

1、/- 根

每一个文件和目录从根目录开始。

只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/不一样

2、/bin中 - 用户二进制文件

包含二进制可执行文件。

在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。

例如:ps、ls、ping、grep、cp

3、/sbin目录 - 系统二进制文件

就像/bin,/sbin同样也包含二进制可执行文件。

但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令

4、/etc - 配置文件

包含所有程序所需的配置文件。

也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf

hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。

5、/dev - 设备文件

包含设备文件。

这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0

6、/proc - 进程信息

包含系统进程的相关信息。

这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。

这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime

7、/var - 变量文件

var代表变量文件。

这个目录下可以找到内容可能增长的文件。

这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);

8、/tmp - 临时文件

包含系统和用户创建的临时文件。

当系统重新启动时,这个目录下的文件都将被删除。

9、/usr - 用户程序

包含二进制文件、库文件、文档和二级程序的源代码。

/usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。

/usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。

/usr/lib中包含了/usr/bin和/usr/sbin用到的库。

/usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。

10、/home - HOME目录

所有用户用home目录来存储他们的个人档案。

例如:/home/john、/home/nikita

11、/boot - 引导加载程序文件

包含引导加载程序相关的文件。

内核的initrd、vmlinux、grub文件位于/boot下。

例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic

12、/lib - 系统库

包含支持位于/bin和/sbin下的二进制文件的库文件.

库文件名为 ld*或lib*.so.*

例如:ld-2.11.1.so,libncurses.so.5.7

13、/opt - 可选的附加应用程序

opt代表可选的。

包含从个别厂商的附加应用程序。

附加应用程序应该安装在/opt/或者/opt/的子目录下。

14、/mnt - 挂载目录

临时安装目录,系统管理员可以挂载文件系统。

15、/media - 可移动媒体设备

用于挂载可移动设备的临时目录。

举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;

16、/srv - 服务数据

srv代表服务。

包含服务器特定服务相关的数据。

例如,/srv/cvs包含cvs相关的数据。

linux命令基本格式

命令提示符:

[root@localhost ~]#
其中:
root 当前登陆用户
localhost 主机名
~ 当前所在目录(家目录) 
如果是root代表/root;
如果是普通用户user1代表/home/user1
# 超级用户的提示符#
普通用户提示符$

命令格式:

命令 [选项] [参数]

注意: 个别命令的使用不遵循次格式
当有多个选项时,可以写在一起
简化选项与完整选项
-a 等于 --all

linux常用命令- ls

ls [选项] [文件或目录]


选项:
-a 显示所有文件,包括隐藏文件
-l 显示详细信息
-h 人性化显示文件大小

ls -a  :查看所有
ls -l  :查看详情
ls -h  :人性化查看详情
ll     :ls-l的缩写      通过: alias ll 看快捷方式         
ls -alh:所有

linux常用命令- pwd/cd

查询所在目录位置:pwd


命令英文原意:print working directory

切换所在目录:cd [目录]


命令英文原意: change directory

简化操作:
cd ~   :切换到用户目录(家目录)
cd     :切换到用户目录
cd -   :切换到上一个访问目录
cd ..  :切换到上一级目录
cd .   :切换到当前目录

linux常用命令- touch / mkdir / rmdir / rm

touch 文件名


touch 文件名 :创建文件

mkdir -p [目录名]


-p 递归创建
命令英文原意: make directories


mkdir  目录名 :创建目录

mkdir -p xx/yyy/zz :创建多级目录

rmdir [目录名]


命令英文原意:remove empty directory

rmdir 目录 :删除目录(目录为空时执行)

rm -rf [文件或目录]


命令英文原意:remove
选项:
-r 递归删除目录
-f 强制



rm -r 目录 :递归文件夹 带提示
rm -f 文件 :删除文件
rm -rf 文件/文件夹 :递归删除,无提示



禁止: rm -rf  /*  删除所有文件 (删库跑路命令,试试就逝世!

快照与克隆

创建快照

linux常用命令- cp / mv

cp [选项] [原文件或目录] [目标目录]


命令英文原意:copy
选项:
-r 复制目录

cp 源文件 备份文件 :备份文件
cp -r 源目录 目标目录

这是一条删除命令

mv [原文件或目录] [目标目录]


命令英文原意:move

mv 文源文件件 目标文件目录 :剪切
mv 源文件 不存在的文件 :重命名
mv 源文件 文件夹/不存在的文件 :剪切重命名

linux常用命令- whereis / which / PATH(大写)

whereis 命令名


#搜索命令所在路径及帮助文档所在位置
选项:
-b 只查找可执行文件
-m 值查找帮助文件

whereis 命令名 :搜索命令所在来的路径与帮助文档所在的位置

which 命令名


#搜索命令所在路径及别名

which 命令名:搜索命令所在路径与别名

PATH环境变量:定义的是系统搜索命令的路径


相当于window下的path

echo $PATH  : 查看环境变量

whereis 命令名  #搜索命令所在路径及帮助文档所在位置

which 文件名   #搜索命令所在路径及别名

PATH环境变量PATH环境变量:定义的是系统搜索命令的路径

linux常用命令- find

find [搜索范围] [搜索条件]


示例:
find / -name install.log
#避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名.如果需要匹配,使用通配符匹配,通配符是完全匹配

find /root -iname install.log   #按名字查询: 不区分大小写

find /root -user root   #按照所有者搜索

find /root -nouser  #查找没有所有者的文件

Linux通配符

* 匹配任意内容
? 匹配任意一个字符
[] 匹配任意一个中括号内的字符

按时间查找

find /var/log -mtime +10
#查找10天前修改的文件

-10 10天内修改文件
10 10天当天修改的文件
+10 10天前修改的文件

atime 文件访问时间
ctime 改变文件属性时间
mtime 修改文件时间

按文件大小查询

find  / -size 25k
#查找文件大小是25KB的文件,注意k是小写的.

-25k 小于25KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件

find / -size 25M
#查找文件大小是25MB的文件,注意M是大写的.

复合条件查询

find /etc -size +20k -a -size -50k
#查找/etc/目录下,大于20KB并且小于50KB的文件

-a and 逻辑与,两个条件都满足
-o or 逻辑或,两个条件满足一个即可

find /etc -size +20k -a -size -50k -exec ls -lh {} \;
#查找/etc/目录下,大于20KB并且小于50KB的文件,并显示详细信息
#-exec {} \;这是固定格式

linux常用命令- grep

grep [选项] 字符串 文件名


#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串

cat anaconda-ks.cfg  查看内容

grep timezone anaconda-ks.cfg 



经典使用:
ps -ef | grep java 

find命令和grep命令的区别:

find命令:在系统中搜索符合条件的文件名.

grep命令:在文件中搜索符合条件的字符串.

linux常用命令- man / help

man ls


#查看ls的帮助

man 命令名 :查看帮助命令  f     b 键翻页  q退出

Tip:(F键)表示下一页,B向上,Q退出

命令 --help


#获取命令选项的帮助
实例:
ls --help

命令 --help :简洁版帮助




但是不适用内部命令,如cd:
help cd


命令特殊时,使用
help 命令  比如: help cd



linux常用命令- zip / unzip

zip 压缩文件名 原文件


#压缩文件

zip -r 压缩文件名 原文件

先安装zip 软件

yum install zip  

yum install -y zip  : 不带确认的安装 

 

 这里有一点问题,找了好久,发现是最后发现是源的问题,替换为阿里云的源即可,可以看我这里的文章

yum 报错:Cannot find a valid baseurl for repo: base/7/x86_64解决办法-CSDN博客



卸载: yum remove 


zip 压缩文件名  原文件 :压缩文件

zip a.zip a.txt



zip -r 压缩文件名  原文件夹 :递归要是文件夹 【如果不指定递归压缩,仅仅是压缩文件夹】

zip -r bb.zip bb

unzip 压缩文件


#解压缩.zip文件

unzip 压缩文件名 ;解压




linux常用命令-gzip_gunzip

gzip 原文件


#压缩为.gz格式的压缩文件,原文件会消失



gzip -c 原文件  压缩文件
#压缩为.gz格式,原文件保留
#-c的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
#>的意思是把结果输出到什么地方去.

gzip -r 目录
#压缩目录下的所有子文件,但是不能压缩目录




gzip  原文件 : 压缩文件, 源文件会消失
gzip  a.txt


gzip -r 原文件夹 :遍历文件夹,压缩文件夹中文件,目录不压缩
gzip -r learn




gunzip 压缩文件


#解压缩文件

gunzip -r 压缩文件目录 ;解压



bz2格式[拓展]


.bz2和.gz的区别:

.bz2和.gz都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件。

前者比后者压缩率更高,后者比前者花费更少的时间。也就是说同一个文件,压缩后,.bz2文件比.gz文件更小,但是.bz2文件的小是以花费更多的时间为代价的

解压

bzip2 源文件
#压缩为.bz2格式,不能保留源文件

bzip2 -k 源文件
#压缩之后保留源文件

注意:bzip2命令不能压缩目录

压缩

bzip2 -d 压缩文件
#解压缩,-k保留压缩文件

bunzip2 压缩文件
#解压缩,-k保留压缩文件


tar.bz2命令[拓展]

其实.tar.bz2格式是先打包为tar格式,在压缩为.bz2格式

解压

tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-c 压缩为.tar.bz2格式

压缩

tar -jxvf 压缩包名.tar.bz2
选项:
-x 解压缩为.tar.bz2格式

 

linux常用命令- tar

其实.tar.gz格式是先打包为tar格式,在压缩为.gz格式

打包命令:


tar -cvf 打包文件名 源文件
选项:
-c 打包
-v 显示过程
-f 指定打包后的文件名

 tar -cvf learn.tar learn

 


解打包命令:


tar -xvf 打包文件名
选项:
-x 解打包


压缩

tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z 压缩为.tar.gz格式


tar -zcvf learn.tar.gz learn

解压

tar -zxvf 压缩包名.tar.gz
选项:
-x 解压缩.tar.gz格式
 

#加上-C表示解压到指定的目录
tar -zxvf 压缩包名.tar.gz -C 指定目录



解压:
tar -zxvf learn.tar.gz  -C  目录
压缩:
tar -zcvf learn.tar.gz learn

linux常用命令- 关机和重启

关机命令:shutdown [选项] 时间


选项:
-c 取消前一个关机命令
-h 关机
-r 重启

#使用shutdown会在关机的时候帮我们保存数据


shutdown -c :取消上一个关机命令

shutdown -h 时间 :多少时间后关机
shutdown -h now :马上关机
shutdown -f :重启


其他关机命令

halt


-n : 在关机前不做将记忆体资料写回硬盘的动作
-w : 并不会真的关机,只是把记录写到 /var/log/wtmp 档案里
-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
-i : 在关机之前先把所有网络相关的装置先停止
-p : 当关机的时候,顺便做关闭电源(poweroff)的动作

poweroff

关机,不保存数据

init 0

init 0 :关机
init 6 :重启
init 3 :切换字符界面
init 5 :切换可视化界面

其他重启命令

reboot

init 6

退出登录命令:logout

linux常用命令-w_who

查看用户登陆信息:w root

命令输出:
USER 登陆的用户名
TTY 登陆终端
FROM 从哪个IP地址登陆
LOGIN@ 登陆时间
IDLE 用户闲置时间
JCPU 指的是和该终端连接的所有进程占用时间.这个事件并不包括去后台作业的时间,但却包括当前正在运行的后台作业所占用时间;
PCPU 是指当前进程所占用的时间
WHAT 当前正在运行的命令

w root

who命令

命令输出:
用户名
登陆终端
登陆时间(登陆来源IP地址)

linux常用命令-last_lastlog

查询当前登陆和过去登陆的用户信息:last


last命令默认时读取/var/log/wtmp文件数据
命令输出
-用户名
-登陆终端
-登陆IP
-登陆时间
-退出时间(在线时间)

查看最后一次登陆时间:lastlog

lastlog命令默认时读取/var/log/lastlog文件内容
命令输出
用户名
登陆终端
登陆IP
最后一次登陆时间

磁盘使用情况:df

df:用于显示磁盘的使用情况
df -h: 格式化显示输出磁盘使用情况

查看任务进程:top

任务进程
第一行:
10:01:23 — 当前系统时间
126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

第二行:
Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行:cpu状态
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比

第四行:内存状态
8306544k total — 物理内存总量(8GB)
7775876k used — 使用中的内存总量(7.7GB)
530668k free — 空闲内存总量(530M)
79236k buffers — 缓存的内存量 (79M)

第五行:swap交换分区
2031608k total — 交换区总量(2GB)
2556k used — 使用的交换区总量(2.5M)
2029052k free — 空闲交换区总量(2GB)
4231276k cached — 缓冲的交换区总量(4GB)

第五行以下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)

Tip:一般退不出去的命令,可以尝试用ctrl+z或者ctrl+c或ctrl+x,还有esc键尝试退出

查看内存占用:free

内存占用情况:
total:内存总数;
used:已经使用的内存数;
free:空闲的内存数;
buffers Buffer:缓存内存数;
cached Page:缓存内存数。

查看操作历史:history

用于显示执行过的历史命令记录

linux常用命令-echo_cat_tail

在显示器输出内容:echo

文章查看命令:

cat

整个文件的内容显示出来

tail

默认在屏幕上显示指定文件的末尾10行
参数:
-f  显示文件最新追加的内容。
-行数   在屏幕上显示指定文件的末尾参数设置的行数

克隆一个

vi编辑器

三种模式:


编辑模式(命令模式) :所有的机键动作都会理解为编辑整个文档的操作,默认为编辑模式
输入模式:大部分机键动作都会理解为输入的字符
末行模式:在末行模式,输入很多文件管理命令


模式之间的相互转换: 


编辑-->输入
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
s:删除光标所在的字符并开始插入
-----------------------------------------
I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入
A:在光标所在你行的行尾开始插入
O:在光标所在行的上面另起一行开始插入
S:删除光标所在行并开始插入

输入模式-->编辑模式
ESC(键盘左上方的按键)

编辑模式--->末行模式

末行模式:-->编辑模式
ESC(键盘左上方的按键)(一次或者多次)

打开和关闭

打开文件
vi  /path/to/file

关闭文件
在末行模式下
wq: 保存退出
q!: 退出不保存

移动光标

逐字符移动: 
h:左移动
l:右移动
j:向下移动
k:向上移动
行内跳转:
0:跳转到行首
$: 跳转到行尾
行间跳转;(末行模式)
num: 跳转到某一行(末行模式)
G: 跳转行最后一行(编辑模式)
gg: 跳转到第一行(编辑模式)

翻屏操作

在编辑模式下:
ctrl+f 向下翻一页
ctrl+b 向上翻一页

 

删除操作

dd: 删除光标所在行 (编辑模式)
3dd:从光标行开始删除3行(编辑模式)
: 1,4d 删除第一行到第四行(末行模式)

复制和粘贴命令

yy 复制光标所在行 (编辑模式)
2yy 从光标行开始复制2行(编辑模式)
p: 粘贴命令

查找和替换

文件的查找
/parttern 从前往后查找
?parttern 从后往前查找
n:  下一个匹配的字符串
N: 上一个匹配的字符串
文本的替换(末行模式)
startNum,endNums/partter/string/gi
g:全局替换
i:忽略大小写
%s/f/F/gi
:.,$s/F/f/gi


/关键字                 按n找下一个


set number        设置行号    
或者 
set nu



取消行号
set nu!

Tip:小问题,平常遇到断电,没来得及保存的时候,就会出现一个.swp文件,编辑的时候每次都会弹出一个提示,这里把他删除就好了
 

系统服务管理

systemctl是CentOS7的服务管理工具中主要的工具
启动服务:systemctl start <服务名>
关闭服务:systemctl stop <服务名>
重启服务:systemctl restart <服务名>
查看服务状态:systemctl status <服务名>
添加开机启动项:systemctl enable <服务名>
禁止开机启动项:systemctl disable <服务名>
查看服务:systemctl list-unit-files


 

 进程查看

用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。


ps -ef 显示出的结果:
    1.UID       用户ID
    2.PID        进程ID
    3.PPID      父进程ID
    4.C           CPU占用率
    5.STIME     开始时间
    6.TTY         开始此进程的TTY----终端设备
    7.TIME       此进程运行的总时间
    8.CMD       命令名

杀死进程

kill -9 pid

权限管理

用户管理

创建用户 :useradd [用户名]


创建用户并分配一个组:useradd -G [组名] [用户名] 

查看系统用户:cat /etc/passwd


1 用户名
2 用户的密码,用x替代
3 用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。
4 用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。
5 用户的账号说明解释
6 用户的家目录文件夹
7 用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。

查看系统用户组:

cat /etc/group

修改用户组属性


usermod -G [组名] [用户名]


删除用户:

userdel
-f:强制删除用户,即使用户已登录 
-r:删除与用户相关的所有文件。

删除组:

groupdel 组名

设置用户密码:

passwd 用户名

文件权限管理

基本权限的修改

计算资源:(一切皆文件)
权限:定义资源或服务的访问能力,称之为权限
定义某一个特定的人资源或者服务的访问能力, 用户
定义一类用户具有访问某个资源或服务的能力. 用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限
定义一个资源的权限: 
① 用户具有该资源的权限(文件所有者,属主)
② 用户组具有该资源的权限(属组)
③ 其他用户(既不是属主,也不是属组)

文件权限:
 r, 可读 可以执行类似cat命令的操作
w, 可写 可以编辑或者删除此文件
x  可执行

文件权限解释 

-rw-r--r--
- 文件类型(- 文件 d 目录 I 软链接文件)
rw- r-- r--
u所有者 g所属组 o其他人

r读 w写 x执行


-rw-r--r--.  1 root root    12288 Aug 22  2019 aliases.db


文件类型     所有者读写权限     所属组读写权限   其他人读写权限          硬链接次数     所属用户   所属用户组       文件大小      文件修改时间       文件名
-                   rw-                         r--                          r--.                     1            root           root             12288          Aug 22  2019     aliases.db

chmod命令

chmod [选项] 模式 文件名
选项
-R 递归
模式
[guoa] [+-=] [rwx]
[mode=421]


修改权限的方式

chmod [选项] 模式 文件名
[guoa] [+-=] [rwx]

g:  group
u:  user
o:  other
a:  all

修改权限的方式:
chmod u+x 文件
#给当前用户添加指定文件的x执行权限
chmod g+w,o+w 文件
#给该文件用户组合其他人添加指定文件的w写的权限
chmod a=rwx 文件
#给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限

权限的数字表示

chmod [选项] 模式 文件名
[mode=421]

权限的数字表示
-w-  010

r 4     r--     100
w 2     -w-    010
x 1     --x     001



0    ---
1    --x
2    -w-
3    -wx
4    r--
5    r-x
6    rw-
7    rwx

示例:
rwx  r-x   r-x
  7     5    5
chmod 755 文件

aa.txt    --->
拥有者: 可读可写     rw- 6
所述组: 可读写执行  r-x 5
其他人: 可读可写可执行 rwx 7

chmod  657 aa.txt


其他权限命令

修改文件的所有者

chown 用户名 文件名

修改文件的所属组

chgrp 组名 文件名

sudo权限

root把本来只能超级用户执行的命令赋予普通用户执行.
sudo的操作对象是系统命令

visudo
#实际修改的是/etc/sudoers文件

root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)

useradd dafei
passwd  admin


dafei ALL = (ALL)  /usr/sbin/shutdown

切换到dafei用户后
使用sudo命令执行shutdown

sudo shutdown -h now

防火墙

centos7的防火墙程序服务名为:firewalld

防火墙配置命令:firewall-cmd
防火墙帮助:
firewall-cmd --help

查看防火墙状态:
firewall-cmd --state

查看所有打开的端口: 
firewall-cmd --zone=public --list-ports

开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent

更新防火墙规则:
firewall-cmd --reload


删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent


关闭防火墙
systemctl  stop firewalld
systemctl disable firewalld

网络的基本概念


1)ip地址:在网络通信中主机的标识符(好比手机号码)
2)mac地址:主机的物理网卡的唯一标识符(好比身份证号码)
3)子网掩码:用于区分主机的IP地址中的网络地址和主机地址,并由此确定该主机的IP地址的网段
4)网关:就是一个网络中的主机连接到另一个网络的主机的关口
5)DNS:域名解析服务器,把域名解析成对应的IP地址

ifcfg-eth解释

文件 /etc/sysconfig/network-scripts/ifcfg-eth0

在 /etc/sysconfig/network-scripts/ 在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)。

TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11 #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址
GATEWAY=192.168.1.1 #网卡网关地址
DNS1=8.8.8.8 #网卡DNS地址
BROADCAST=192.168.1.255 #网卡广播地址 

查看ip:
ip addr
------------------------------------


TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.241.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.241.2"
DNS1="8.8.8.8"
BROADCAST="192.168.241.255"
ONBOOT="yes"

重启服务
systemctl restart network


静态ip配置


windows中的配置ip的方式



跟改为
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR="192.168.241.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.241.2"
DNS1="8.8.8.8"
BROADCAST="192.168.241.255"
ONBOOT="yes"

保存退出,IP就固定了



linux软件安装

软件包管理器: 软件的安装,卸载,查询等功能
后端工具: rpm, dpt
  rpm:RedHat package Management 
是Linux界的软件管理的一个工业标准
  dpt: debian的一个包管理器

 依赖管理:
   X --->Y  ---Z
  X --->Y ---X
前端工具: yum: 基于后端工具的软件包的管理,主要是解决rpm安装软件的时候的依赖的解决
apt-get


rpm 常用命令


安装一个包 
# rpm -ivh <包名>
rpm -ivh  --nodeps  <包名>  : 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 
--force 即使覆盖属于其它包的文件也强迫安装 

查询一个包是否被安装 
# rpm -q <软件名>

得到被安装的包的信息 
# rpm -qi < 软件名> 

列出该包中有哪些文件 
# rpm -ql < 软件名> 

列出服务器上的一个文件或目录属于哪一个RPM包 
#rpm -qf <文件或目录名>

列出所有被安装的rpm package 
# rpm -qa 

卸载一个包 
# rpm -e <软件名>


有安装包,知道依赖关系使用rpm

yum命令


1 配置一个自定义的仓库地址
/etc/yum.repos.d
local.repo
2 安装命令
yum install 
3 查看软件包
yum list |grep mysql
yum list installed


4 卸载软件包
yum remove  


没安装包, 不知道依赖关系,使用yum

修改yum源

yum install wget -y

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache


#更新系统软件,不执行
yum -y update

这些就是常用的linux命令了,入门了吗!!!



    

  • 27
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值