文档章节

一些Linux基础命令总结

W
 Wxr970512
发布于 2017/01/17 21:47
字数 8877
阅读 5
收藏 0

 

############################## s h e l l ############################

shell的意义:保护内核(内核保镖) 防止第三方应用直接操作内核

shell三种 bash sh tcsh      crtl+c 取消执行

gnome-terminal      ###用命令开启bash

[kiosk@foundation0 Desktop]$

kiosk   ####开启shell的用户

@      ####分隔符

coundation0   #####主机的短名称 开启shell的主机

Desktop  ####表示当前位置在Desktop

$     #####表示普通用户身份

#    #####表示超级用户身份

su  - 将要切换用户的名字     ####表示从当前用户切换到要切换的用户(普通用户切换到超级用户需要超级用户密码,超级用户切换到普通用户不需要密码)

###########################切换虚拟控制台################################

ctrl+alt+f2--f6 ####进入虚拟控制台

ctrl+alt+F1|F7 ####回到图形

 

############################# s h e l l 中如何使用命令#####################

1.命令一定要在提示符之后输入

2.命令的输入方式

命令       参数       目标

参数是命令功能的指定

-参数      ####单词的缩写

--参数     ####单词的全拼

3帮助

命令       --help     ###查看命令的帮助

【内容】       ###内容选加

<内容>   ###内容必加

内容...    ###内容个数任意

4

ctrl +c     ###撤销未执行的命令

 

###############################部分操作##################################

 ls test/          #######列出test里面的东西

ls  -l  test/     #####列出test里面的东西及其属性   -l ###字符缩写  --L ###字符全名命令 -a  -b  -c  = 命令  -abc  = 命令  -cba  = 命令  ^ c

ctrl +alt+上/下  ####切换界面      ctrl +alt+l  ####锁屏

shell打开方式 1. 右健2 .applications-->常用---->shell  3.设定快捷键 gnome-terminal

Ctrl+shift+T  #####开启新shell(table)

关机   poweroff | init 0 |  shutdown -h now ----默认等待5分钟

重启   reboot | init 6 | shutdown -r now

date  ###查看日期

watch  -n1 date   ####一秒查看一次日期

date 月月天天小时分钟.秒秒             ##更改时间

date MMddhhmm[cc[yy].ss]       ##更改时间

修改密码    

passwd   ###修改用户自己密码      passwd  用户名  ###修改用户密码(只有超级用户)

passwd -l           username ###冻结普通用户

passwd -u      username ###解锁冻结帐号

##############################################################################

gedit ### 编辑          gedit  hello.avi  建立一个.avi格式的文件  

watch -n1  passwd   -s   student   ### 1秒查看一次修改密码

passwd   -X  3 student     ####修改参数

file 文件名    #####查看文件的类型

cat 文件名   #####显示文件内容

head 文件名  ######显示文件前十行

tail 文件名    #####显示文件后十行

head -6 文件名  #####显示文件前六行

wc :统计文件容量

wc -l     ###行数

       -c    ###字节数

       -m   ###字符数

       -w   ###单词数

       -L    ###显示最长行的长度

Tab键 自动补齐

###########################调用历史#####################################

!数字  ###执行第几条命令

!关键字   ###执行最近一条以关键字开头的命令

Ctrl+R+关键字 ###调出最近一条含有关键字的命令

上下键    ###从最后一条命令开始向前查看或者向后查看命令

history  ###查看命令历史

history  -c   ####清除历史命令

######################################shell快捷键###############################

Ctrl+a  ###将光标移到行首     ctrl+e ###将光标移动到行尾 

Ctrl +u  ###从光标位置删除的行首    ctrl+k   ####从光标位置删除到行尾

Ctrl + 左 右  ####向左向右移动以单词为单位 

Ctrl+c  # ##撤销输入命令    ctrl+d  ###关闭当前环境

Ctrl+shift+T  ###开启一个新table     ctrl+alt+l   ###锁屏

Ctrl+shift+PgUp PgDn   ###3切换table

############################linux 系统结构################################

Linux 系统结构是倒树型

/bin  #####存放二进制文件(系统指令)   /boot  ####存放系统启动时的文件

/dev  ### 系统的设备管理文件           /etc   ####系统配置文件

/sbin       ##系统管理命令存放位置       /home  ###普通用户的目录

/lib  ###lib64位库                   /mnt   ####临时观察点

/media     ##系统临时设备挂载点     /run       ##系统临时设备挂载点

/opt  ##第三方软件安装位置         /mnt      ##系统临时设备挂载点

/run ##系统临时设备挂载点            /tmp   ###临时文件

 /proc     ##系统信息                /root    ##超级用户家目录

/srv    /var      ####系统数据目录

/usr     ##系统用户相关信息数据及用户自定义软件存放位置

#################################系统文件路径#################################

绝对路径

文件在系统的真实位置,文件名字以“/”开头

相对路径

文件相对与当前所在位置的一个名字的简写,这个名字不会以/开头,而且名字会自动添加pwd显示的值

pwd        ##显示但前在系统的位置

stat   文件名   ###查看文件的时间戳

touch  file     ###创建文件(相对路径下)

ls  list    文件|目录   ##列出目标文件,或者列出目录中的内容

-L    文件|目录   ##列出目标文件,或者列出目录中的内容

-a     目录  ###列出目标目录里面所有文件(包含隐藏文件)

-s        文件  ##列出文件大小

-l      文件   ###列出文件属性

-ld         ###列出目录属性

-R     目录   ####第归列出

 -t     目录   #####按文件时间先后顺序显示

改变路径:

cd          

       chage directory ##进入目标目录中

 

       ~           ##回到当前用户家目录

       ~username    ##进入到指定用户家目录

       ..            ##进入当前目录的上一级

       -             ##进入之前所在系统目录

新建目录:

mkdir  目录名        

mkdir   -p  test/qq/linux    ###一次建立好目录(第归建目录)

rm  -fr  westos/*     ####删除目录westosli里面的所有东西(不包含目录)

rm  -fr  westos/    ####删除目录westosli及里面的所有东西(包含目录)

移动与复制

mv 被移动文件    目的地

mv 老名字    新名字

mv test/file .   ##把test中的file移动到当前

cp  被复制的文件   目的地   

cp  -r   目录1  目录2      ##把目录1复制到目录2中

cp test/file .    ##把file复制到当前

    vim filename

按 i 键进入插入模式

文件编写完毕按 esc 推出到浏览模式

:wq 保存推出

######################通配符(正则表达式)########################

*     #匹配0-任意字符

?    #匹配任意单个字符

~    #匹配当前用户家目录

~user     #匹配到user的家目录

~+  #当前目录

~-  #当前目录之前所在的

[abc]       #有a或者有b或者有c

[!abc]     #除了含有a或者b或者c

[^abc]     #除了含有a或者b或者c

[[:alpha:]]       ##单个字母

[[:lower:]]       ##单个小写字母

[[:upper:]]       ##单个大写字母

[[:alnum:]]      ##单个字母或数字

[[:punct:]]       ##单个符号,不包含数字,字母以及空格

[[:digit:]]  ##数字

[[:space:]]       ##单个空格

正则表达式用于查找一些特有的文件或一条命令创建多个文件

例如
     touch file{1..10}  ##创建file1到file10十个文件

例如:备份/etc目录中所有带有名字带有数字并且以.conf结尾的文件到桌面上

输入 cp   /etc/*[[:digit:]]*.conf   /home/kiosk/Desktop/

 结果如图 符合条件的会被筛选出来

#####################################man命令#################################

man 级别 目标

man 1 文件名       ####查找命令的帮助

man 5 文件名       ####查找配置文件的帮助

man 退出      ###按q

 

man的快捷用法

/关键字          ###搜索关键字并且高亮显示结果

n            ###向下匹配高亮结果

N            ###向上匹配高亮结果

pagup             ###向上滚动一个屏幕

pagdown        ###向下滚动一个屏幕

上键              ###向上滚动一行

下键              ###向下滚动一行

d            ###向下滚动半个屏幕

u            ###向上滚动半个屏幕

g            ###回到man的最前面

G            ###回到man的最后面

q            ###退出man页面

yelp   ##获取图形帮助

yelp   help:gedit   ###获取gedit的图形帮助

###############################将系统输出到文件###############################

(重定向正确输出)date  1 > file        ####将系统日期重定向文件file中

(重定向错误输出) 1234  2>file      ####将错误信息1234重定向到文件file中

echo  hello world   >file                echo相当与c中的printf

date   >>file   ##将系统时间追加到文件file中(追加不覆盖原文件内容)

123   2>>file   ##将错误信息123追加到文件file中(追加不覆盖原文件内容)

###############以下操作在普通用户下执行#################

当输入find  /etc -name passwd  结果如图

输入  find /etc -name passwd     > file              ####重定向正确输出

 

正确的输出已全重定向到文件  文件内容如下图

同理 当输入find  /etc  -name passwd 2>file时 屏幕显示正确输出  错误输出全被重定向到文件file中 

当输入find /etc -name passwd     &> file      屏幕不显示 ,将所有输出全重定向到文件中

文件里面内容如图

当输入  find /etc -name passwd  &>  /dev/null时 相当于把所有输出扔进垃圾桶 屏幕不显示输出 也不会重定向到文件里面

>  file    ####清空文件里面的所有内容

以上的 > 换为 >> 就换为了追加  追加只是原文件内容不会被覆盖

当输入  find  /etc -name passwd 2 > /dev/null  >file 

将正确的输出重定向到file中  同时屏蔽所有错误输出(屏幕什么都不输出)

  文件file内容如下图

 

 

 

 

find /etc  -name passwd      > file       2>&1     ####重新定义错误输出为正确

find  /etc  -name    passwd   |  wc  -l   ###默认显示错误输出统计正确输出个数

find  /etc  -name passwd  2>&1 |wc -l      #####不输出  统计所有个数

find   /etc  -name passwd 2>&1 file    #####输出错误的将正确的存入file

find   /etc  -name passwd  2>&1  > /dev/null |wc -l  ####统计错误行数

ls  /bin/  /sbin  |tee file  |   wc -l      ######复制一份输出到指定位置(此处为file中)

 ###########################vim##########################

输入vim   /etc/vimrc   

打开vimrc后     输入 : set nu|nonu    ####行号显示|不显示

                      :set mouse=a    ####设定鼠标可以操作光标位置

                      :set  cursorline   #####标记光标所在行

                      u    ####恢复到未操作之前

  也可以  vim /etc/vimrc   在最后加入命令   

例如  加入:set nu  永久加入行号

vimdiff  文件1   文件2     #######比较两文件内容的不同

Ctrl+w   再按s      ####上下分屏

Ctrl+w   再按v      ####左右分屏

Ctrl+w   再按c     ####撤销光标所在屏幕处分屏

在有分屏时  ctrl+w   上下左右   ############移动光标

若输入   :%s/sbin/westos/g    ####将全文sbin换为westos

         :%s/root/hello        #####将第一行root换为hello

         /bash      #####搜索关键字为bash的内容

         :%s^ \  *//g    ####将全文以空格开头的行的空格的行全删除

#### ################vim删除剪切复制############################

dw          删除光标所在单词

dl            删除光所在字母

dd           删除一整行

d数字d         删除数字指定的行数

d数字 上键   向上删除指定行数

 

yw          复制光标所在单词

yl            复制光所在字母

yy           复制一整行

p            粘贴

y数字y         复制数字指定的行数

 

cw          剪切光标所在单词

cl            剪切光所在字母

cc           剪切一整行

c数字c         剪切数字指定的行数

剪切完成后会进入插入模式,要粘贴先退出插入模式再按P键

:行号    ###############将光标移到该行号

vim的插入模式

i      光标坐在位置插入字符

I      光标所在行行首插入

a      光标所在字符的下一位插入

A     光标所在行行尾插入

o     光标所在行的下一行

O     光标所在行的上一行

s      删除光标所在字符插入

S     删除光标所在行插入

 vim的退出模式

在命令模式下输入

:q     ###退出,在未对文件作任何修改的时候可以用

:q!         ###强制退出

:wq    ###退出保存

:wq!    ###强制退出保存

当shell 不正常关闭时会产生临时文件

vim  -r  .file.swp        ##############打开临时文件

####################用户如何存在与系统当中######################

/etc/passwd           #用信息文件

用户名字:用户密码:用户uid:用户gid:用户说明:用户加目录:用户使用的shell

 

/etc/shadow           #用户认证信息

用户名称:密码:密码使用天数:最短有效期:密码最长有效期:密码警告期:密码非活跃期:密码到期日:

 

/etc/group              #用户组信息

用户组名称:用户组密码:用户组id:附加用户成员

 

/home/username            #用户加目录

/etc/skel/.*             #用户的基本信息配置

##########如果改文件来增加用户的话 必须在上面四个组都加入用户信息否则创建出来的用户不完整

id               用户名              ##############查看用户的信息

           -u                           ###用户uid

              -g                           ###用户gid

              -a                        ###用户所有信息

              -G                          ###用户所在所有的id

           -un                       ###用户名字

              -gn                         ###用户初始组名称

            -Gn                        ###用户所在所有组名称

su - username ###切换用户用户所使用的环境

echo $PATH    ###查看当前用户的用户环境

echo $USER   ###显示当前用户的信息

       

useradd          ###新建用户

              -u    ###指定用户的uid

              -g    ###指定用户初始组,这个组一定要存在

              -G   ###指定附加组,组同样要存在

              -c    ###用户说明

              -d    ###指定用户加目录

              -s    ###指定用户使用的shell,shell种类参看/etc/shells

 

userdel         -r     ####删除用户

groupadd         ###新建组

groupadd     -g    ###新建组,-g表示指定组的id

groupdel             ###删除组

查看用户和组的增加修改过程的监控命令 

watch   -n1  ‘tail  -n3 /etc/passwd  /etc/group ; ls   -l  /home/ ’

usermod         -u    ##改变用户uid

                  -g    ##改变用户初始组

                  -G   ##改变用户附加组

                  -aG  ##增加用户附加组

                  -d    ##改变用户加目录信息

                  -md ##改变用户加目录信息和加目录名称

                 -s    ##改变用户的shell

                   -c  ##改变用户的说明

                  -L    ##冻结用户

                  -U    ##解锁用户

用户管理:默认为超级用户

 /etc/sudoers   ------- 用户权限下放

 让普通用户有创建用户的权限   

   输入visudo  找到第99行    然后加入如下命令

    (要密码)

   ## Allow westos  to create users

   westos   主机名=(root)   /user/sbin/useradd   /user/sbin/userdel

   保存退出

   (不要密码)

   ## Allow westos  to create users

   westos   主机名=(root)  NOPASSWD :  /user/sbin/useradd   /user/sbin/userdel

   保存退出

 

   主机名可以用hostname来查询

 

   grep   ich westos >file   #####将westos中关键字为ich的内容存到file中

watch  -n1 tail -n3   /etc/shadow     ####监控用户的密码信息

chage   -d  o  test   ####更改密码默认使用天数---让用户在初始时要改密码

chage   -m  1  test    #####更改用户密码的最短有效期

chage    -I  1   test    #####非活跃天数

chage    -M  30  test      ###### 密码最长有效期

chage     -W  30  test     #######更改密码警告期

chage     -E  2016-10-17   test    让test账户在2016年10月17日冻结

ls  -l  /mnt/       #####查看mnt里面文件的属性

格式如下

l-            rw-rw-r--      1            kiosk      kiosk             0     Oct  2 17:05               file

文件类型       文件权限   文件副本个数      文件所有人  文件所有组    大小       最后一次被修改的时间       名字

 

ls  -ld  /mnt/       #####查看mnt目录本身属性

d     rwxr-xr-x     3     kiosk      kiosk           33                 Aug 27 09:47               directory

类型 权限 子目录个数 目录所有人  目录所有组 子文件属性大小    目录中内容变化           目录名字

  u  (所有人)  g (组成员 ) o  (其他人)

u=r w -  |  g = r --  | o=r --

ls  -LR  /mnt/  ----第归显示

chown    用户名称       文件       ##更改文件所有人

chgrp      组名称           文件       ##更改文件所有组    

chown    -R   student /mnt/test/  ##更改目录本身以及目录中的子文件的所有人

chgrp    -R   组名           目录       ##更改目录本身以及目录中的子文件的所有组

 chown   test . root  /mnt/file    #####将文件所有人和所有组都改变

 chown   -R test . root  /mnt/    #####将目录和和子文件所有人.所有组都改变

ls -l 中2-10字符为文件权限

rwx        r-x          r-x

用户权限     组成员权限    其他用户权限

r 表示是否可读   w 表示是否可写      x表示是否可以执行

r权限针对文件,表示可以查看文件内容

r权限针对目录,表示可以ls 查看目录中存在的文件名称

w权限针对文件,表示可以更改文件的内容

w权限针对目录,表示是否可以删除目录中的子文件或者子目录

x权限对于文件,表示是否可以开启文件当中记录的程序

x权限对于目录,表示是否可以进入目录中

chmod     ugo +(增加) -(减少) =(全变为)rwx    

r=4

w=2

x=1

-=0

######限制超级用户权限  

chattr  +i  file    #限制超级用户权限    chattr  -i   file  #去掉限制权限

lsattr  file  ###查看改文件文件属性

如图所示   

当加上限制权限时  超级用户不能对改文件操作

当去掉限制超级用户权限时,一切正常 如图

 

   rwx= 7    r x -= 5      r --= 4

   umask       ##显示系统预留权限值

umask默认值为0022   

默认创建目录时  目录默认权限为777-022=755

    默认创建文件时   文件默认权限为777-022-111=644

   umask   077   用户名   ####临时改umask

   ###永久改

   分别打开 vim  /etc/bashrc     ###71行是普通用户的更改,73是超级用户的更改

            vim   /etc/profile    ###60行是普通用户的更改,62是超级用户的更改

           两个文件改完后刷新

source  /etc/bashrc

source  /etc/profile  

这样将umask就会永久的修改

#########特殊权限

t

chmod         o+t      /mnt/public/

chmod        1777      /mnt/public/ 

此时普通用户只可以建立和删除自己的

chmod   u+s     /usr/sbin/useradd  (无论谁都以root的身份来运行 用户身份的提升)              u-s         ####用户身份的下降

 然后在chomd   o+x   /usr/sbin/useradd    

或着   直接chmod   4777    /usr/sbin/useradd

chmod      u+s(4755)     /usr/bin/touch

若给组成员(g) 也加上权限

chmod     6755  /usr/bin/touch    u和g都加上s

chmod    g+s    /mnt/test/     当一个目录中有s时该目录下用户新建的文件组会自动归属到该目录中 

若一个组的普通用户只能在自己所属的组的目录里面写文件  先将该目录的user改为组成员   chmod  改组的用户   目录

然后在  chmod   775   目录   这样该组的所有用户只能在自己组目录下建立文件

如图所示

用户natasha和harry在一个组里 

属于该组的目录

 

tommy不属于该组,所以tommy没有在该组创建文件的权限

###############################进程####################################

1.什么是进程

进程就是系统正在做的事情

2.进程状态

运行

休眠

停止

继续

结束

僵尸进程

3.图形中如何查看进程

gnome-system-monitor

4.如何用命令查看进程

ps           进程查看工具

       -a    shell中运行的进程

       -x    不在shell重运行的进程

       -u    查看进程用户

       -l     显示进程的详细信息

       -f     完全信息full的缩写

       -e    显示系统中的所有进程

 

ps    -aux |grep       进程关键字

 

ps ax       -o %cpu,%mem,user,pid,comm    ##查看进程某项信息

ps aux  --sort +|-%cpu|%mem...        ##进程按指定方式排序

--sort  排序  -%cpu 按cpu占有率降序   +%cpu 按cpu占有率升序

例如找出占用内存大的前5个进程   

ps   ax  -o  %mem  --sort  -%mem | head -d   (百度面试题)  如图所示

ps   ax  -o %mem --sort  -%mem | grep  -v   %MEM |  head -5  (把%mem过滤掉)如图

屏蔽掉关键字和%MEM

ps   ax  -o %mem  --sort  -%mem | grep  -v  -E  “%MEM |关键字”|  head -5

显示出占用cpu最多的前5个PID

ps   ax  -o  pid  --sort  -%cpu | grep  -v   PID | head   -5    如图所试

5.如何控制shell重进程的前后台调用

 

命令&           ##进程在shell后台运行

ctrl +z            ##把占用shell的进程打入后台停止

jobs        ##查看被打入后台的进程信息

fg job号  ##把指定进程调回前台

bg job号 ##运行后台停止进程

ctrl +c            ##关闭占用shell进程

.如何用命令控制进程

 

1)信号

信号 1           ##reload进程

信号 2           ##ctrl +c 删除进程在内存中的信息

信号 3           ##内存中的鼠标信息清除

信号 9           ##强行关闭进程

信号 15         ##正常关闭进程

信号 18         ##开启停止的进程

信号 19         ##停止正在运行的进程

信号 20         ##ctrl +z

6.如何用命令控制进程

 

1)信号

信号 1           ##reload进程

信号 2           ##ctrl +c 删除进程在内存中的信息

信号 3           ##内存中的鼠标信息清除

信号 9           ##强行关闭进程

信号 15         ##正常关闭进程

信号 18         ##开启停止的进程

信号 19         ##停止正在运行的进程

信号 20         ##ctrl +z

 

 

2)信号发起

kill 信号      pid

killall       信号       进程名称

pkill  -u u sername       ##结束某个用户的所有进程

7.用户登陆监控

w           ##查看当前使用系统的用户

w    -f     ##查看当前使用系统的用户并显示使用地点

last         ##查看登陆过系统的用户

lastb        ##查看试图登陆但没有成功的用户

8.top命令

u username

k 信号

h

s

m

c

#################################服务#########################################

1.什么是服务?

service

服务就是在系统中运行的软件,这个软件主要是对外提供某项功能,那么我们把这一类软件叫做服务

2.服务管理,systemctl命令

systemctl start 服务名称       ###开启服务

              stop     。。。。     ###关闭服务

              restart     。。。。     ###重启服务

              reload      。。。。     ###重新加在服务配置

              status      。。。。     ###查看服务状态

              enable     。。。。     ###设定服务开机启动

              disable     。。。。     ###禁止服务开机启动

              list-dependencies    ###查看服务依赖关系

              list-units             ###查看当前运行的所有服务

              list-unit-files           ###查看服务的开机启动情况

              set-default multi-user.target   ###开机不启动图形

              set-default graphical.target     ###开机启动图形

##############################远程登陆###############################

1.什么是openssh

是一个提供远程访问控制的软件

2.如何实现远程访问

ssh 远程主机用户@远程主机ip地址  如图

登陆成功然后就可以进行一系列操作

打开远程主机的图形

ssh  -X  root@172.25.254.35  登陆上之后输入cheese就可以看到35主机的图形

vim /etc/motd                         ###设定登陆显示字符

scp  -r  root@172.25.42.11:/mnt/  /opt/    ####下载

将远程主机/mnt/拷到本机/opt/中  步骤如下图

当输入scp  root@172.25.42.10:/root/Desktop  /root/Desktop

将远程主机的桌面东西全下载下来命令设定ip的方式

nmcli

nmcli connection delete  连接名称       ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip  ###静态网络

 

网络配置文件

/etc/sysconfig/network-scripts/            ###网络配置目录

scp  -r  /mnt/  root@172.25.42.11:/mnt/     ###上传

将本机/mnt/中文件上传到远程服务器中

如下图

当执行scp  exam.sh root@172.25.42.11:/root/Desktop

注:不能用远程操作两台计算机的操作,必须先登上一台计算机然后再操作

###############################ssh的key认证#################################

在普通用户下输入ssh-keygen 然后设置密码  如图所示

会生成一个.ssh的隐藏目录   里面内容如图(表示密钥已生成)

id_rsa  ###私钥      id_rsa.pub   ###公钥

然后使用key(公钥)加密目标主机的目标用户

输入ssh-copy-id  -i  id_rsa.pub  westos@172.25.42.10

然后输入密码开始加密如图

 

加密成功  .ssh目录里面会多两个文件如图

然后打开vim /etc/ssh/sshd_config 改里面78行的yes改为no(这一步在超级用户下操作)

接着systemctl  restart  sshd.source

然后将加密主机的私钥发给用户跟下的.ssh目录截图如下图所示

scp  id_rsa  root@172.25.42.11:/root/.ssh/(加密用户下进行)

然后在另一台主机使用ssh登陆(由于存在私钥所以不需要密码)

############################也可以限制超级用户登陆##########################

步骤   首先  vim    /etc/ssh/shhd_config

找到48行   进行如下修改 

 

然后刷新

这样在另一台主机就不能登陆超级用户

 

#######也可以设置白名单

在 /etc/ssh/sshd_config   49行加入如图所示指令

然后将78行的no改回yes  这样就只有白名单用户可以远程登陆,结果如下图

 

sshd服务的简单配置

vim /etc/ssh/sshd_config              ###sshd服务的配置文件

48 PermitRootLogin yes|no           ###是否允许root用户通过sshd的认证

78 PasswordAuthentication yes|no       ###开启或关闭用户密码认证

AllowUsers student westos           ###用户白名单,只允许在名单中出现的用户使用sshd服务

systemctl restart sshd                  ###从新加载配置

ssh-copy-id           ####上传key的工具

-i                   ####指定使用的公钥

/home/test/.ssh/id_rsa.pub     #####使用公钥的名称

westos                  ####被管理的目标用户

172.25.254.100             ####被管理用户所在主机的ip

authorized_keys            ###此文件在目标用户加目录的.ssh中,这个文件就是目标用户被加密的标识,文件内容位公钥内容。

################################日志###################################

1.rsyslogd 服务

########服务功能#######

这个服务是用来管理系统日志的进程

 

########服务配置文件############

/etc/rsyslog.conf

 

#######服务配置############

在vim /etc/rsyslog.conf加入

*.*                     /var/log/all.log  ##所有服务的所有日志都放到/var/log/all.log中

#####################日志同步#####################

在日志接收方

vim /etc/rsyslog.conf

$ModLoad imudp                 ###加载日志接收功能模块

$UDPServerRun 514            ###加载日志接收接口

(如图将前面的#号去掉    如果去掉的是tcp前面的   在日志发送方配置文件里面加成这样*.*              @@日志接收方ip)

 

 

在日志发送方

*.*          @日志接收方ip

如图

做完配置重启rsyslogd服务

systemctl   restart  rsyslogd.service

关闭接受方火墙

systemctl stop firewalld

然后刷新一下  systemctl   restart  rsyslogd.service就可以看到日志同步

########日志分析###################

systemd-journald    ###日志分析进程

journalctl ###日志分析命令

 

journalctl -n 5        ##查看最近生成的5条日志

journalctl -p err      ##查看系统报错

journalctl --since --until   ###查看某个时间段生成的日志

journalctl -o verbose      ###查看日志能够使用的条件参数

journalctl _UID=           ##进程uid

              _PID=            ##进程id

              _GID=           ##进程gid

              _HOSTNAME=      ##进程所在主机

              _SYSTEMD_UNIT=     ##服务名称

              _COMM=              ##命令名称

##############################查看关机前的日志步骤############################

mkdir -p    /var/log/journal

ll   -d     /var/log/journal

chown   root.systemd-journal   /var/log/journal

chmod  2755   /var/log/journal  

ps     aux    |   grep    journal

killall  -1    systemed-journald

ls     /var/log/journal

当里面有这样的文件生成时 表示可以看到关机前的日志

############################如何同步系统时间############################

1.确定时间源地址

172.25.254.254

2.确定客户主机使用的时间同步服务

chronyd.service

3.在chronyd.service服务中加载时间源地址

vim /etc/chrony.conf

server     172.25.254.254 iburst

systemctl restart chronyd.service

打开服务器短vim  /etc/chronyd.conf

设定可以同步的ip段和同步本地时间  如图所示

然后保存退出

刷新systemctl  restart  chronyd.service

然后打开客户端 vim   /etc/chronyd.conf

如图所示设定

 

刷新systemctl  restart  chronyd.service

然后修改客户端时间

然后时间会同步时间已同步

############################ timedatectl   ####################################

timedatectl list-timezones              ##列出时区

timedatectl set-timezone 时区             ##设定时区

timedatectl set-time HH:mm:ss        ##设定系统时间

timedatectl  set-local-rtc 1   #########使用本地时间

timedatectl  set-local-rtc 0   #########使用本地时间      可以用vim  /etc/adjtime

timedatectl set-timezone    Asia/Shanghai     ####修改时区

timedatectl set-time    “2016-7-31 16:25:20 ”  ####修改系统时间

########################网络基础知识#############################

一台主机如果可以连接公网,比如访问www.baidu.com

那么这台主机必然会有

ipaddress

GATEWAY

dns

############ipaddress##############

tcp/ip

ipv4

2进制32位

254.254.254.254/255.255.255.0

11111110.11111110.11111110.11111110/11111111.11111111.11111111.00000000

 

254.254.0.254/255.255.255.0    

254.254.0.254/255.255.0.0

 

########ip设定###########

ifconfig   ###查看或者临时设定主机ip的工具

 

ifconfig 网络接口 ##查看这个接口上的 ip

 

ifconfig 网络接口 ip netmask 子网掩码    ####临时设定ip

ifconfig eth0 172.25.254.100 netmask 255.255.255.0

(临时改ip需要关闭  systemctl  stop  Networkmanager.service)

systemctl restart network          ###重新启动网络基本服务

systemctl restart NetworkManager       ###网络智能管理服务

图形网络配置方式

nm-connection-editor            ##图形中的网络设定工具

nmtui                           ##文本中的网络设定工具(在没有图形时)

命令设定ip的方式

nmcli

nmcli connection delete  连接名称       ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24     ###静态网络

例如:

nmcli connection add con-name westos ifname eth0 type ethernet ip4 172.25.100.10/24  ####设定一个静态网络

nmcil   device  connect  eth0     ######连接到该ip

 nmcil   device  disconnect  eth0     ######断开到该ip

########################将创建ip写在脚本里用########################

先 vim  setip-tools

在里面如图写入

 

$1表示脚本跟的第一串字符

$2表示脚本跟的第二串字符

保存退出

然后chmod  +x  setip-tools

然后执行脚步  ./setip-tools  westos 172.25.42.11

结果如图

如果没给setip-tools加可执行权限  

可以sh    setip-tools  westos 172.25.42.11  来调用

#########################网络配置文件####################################

/etc/sysconfig/network-scripts/            ###网络配置目录

先将路径切换到  cd   /etc/sysconfig/network-scripts/  

###动态网络配置###(动态获取Ip)

vim ifcfg-xxx                       ###网络配置文件格式

里面写入

DEVICE=eth0                      ##指定文件管理的设备名称

BOOTPROTO=dhcp            ##dhcp动态获取,none和static都表示静态网络

ONBOOT=yes                            ##开机自动激活设备

NAME=hello                        ##指定网络链接的名字为hello

保存退出刷新systemctl  restart network

###静态网络配置###(静态获取ip)

vim ifcfg-xxx                           ###网络配置文件格式

里面写入

DEVICE=eth0                             ##指定文件管理的设备名称

BOOTPROTO=static|none                  ##dhcp动态获取,none和static都表示静态网络

ONBOOT=yes                              ##开机自动激活设备

NAME=hello                        ##指定链接名字

IPADDR=172.25.42.10                ##设定ip为172.25.254.100

NETMASK=255.255.255.0                 ##子网掩码为255.255.255.0 

PREFIX=24                         ##子网掩码为255.255.255.0

保存退出刷新systemctl  restart network

####################网关gateway##################

网关就是路由器上和我们的主机处在同一个网段上的ip

vim /etc/sysconfig/network-scripts/ifcfg-xxx

GATEWAY=网关地址

vim /etc/sysconfig/network

vim /etc/sysconfig/network-scripts/ifcfg-xxx

后面会覆盖前面的

##############################设定网关##############################

开始无网关

 

例如打开  vim /etc/sysconfig/network 输入如图所示

 

保存退出

systemctl  restart network   ####刷新

route    -n           #####查看网关

如图已经设定好网关

####################域名解析####################

1.ip映射文件

/etc/hosts

ip     主机名称

2.dns服务器的指向文件

vim /etc/resolv.conf

nameserver 172.25.254.254

 

vim /etc/sysconfig/network-scripts/ifcfg-xxx

DNS1=172.25.254.254

PEERDNS=yes|no         ###配置文件是否会修改/etc/resolv.conf no表示不修改

vim    /etc/hosts      #####本地解析文件

若本地和网络都设置了dns 默认本地dns生效

若想让网络dns生效

vim   /etc/nsswitch.conf  

将里面hosts  行的dns files位置一调换   这样网络dns就会生效

################网络端口的检测#######################

ss    |      netstat

       -a    ##所有

       -n    ##不做解析

       -t     ##tcp协议

       -u    ##udp协议

       -l     ##listen,当前活跃端口

       -e    ##显示端口的详细信息

 

/etc/service     ##系统服务默认使用端口信息文件

nmcli device show

nmcli device status

nmcli device disconnect eth0

nmcli device connect eth0

nmcli connection edit "System westos1"

nmcli connection modify "System westos1"  ipv4.addresses 172.25.254.101/24

nmcli connection modify "System westos1"  ipv4.dns 172.25.254.1

nmcli connection modify  "System westos1" ipv4.method auto

nmcli connection modify "System westos1" ipv4.method manual

nmcli connection delete "System westos1"

nmcli connection add con-name eth0 ifname eth0  type ethernet ip4 172.25.254.100 gw4 172.25.254.254

nmcli connection modify eth0 ipv4.dns 172.25.254.254

也可以用这些命令进行一些操作

1.打包,压缩

 

########打包##########################

打包表示把一堆文件变成一个

tar                 ####打包工具

       -f            ####指定生成包的名字

       -c           ####创建包

       -v           ####显示创建过程

       -t            ####查看包中内容

       -x           ####解包

       -r            ####添加文件到包中

       --delete filename ##删除包中指定文件

       --get filename    ##取出包中指定文件

 

 

 

#################压缩##################

gzipqa

gzip xxxx.tar =====> xxxx.tar.gz ##压缩

gunzip     xxxx.tar.gz =====> xxxx.tar ##解压

tar zcvf xxxx.tar.gz 目标文件             ##打包压缩文件

tar zxvf xxxx.tar.gz                     ###xxxx.tar.gz===>xxxx

xz

xz xxxx.tar =====> xxxx.tar.xz      ##压缩

unxz xxxx.tar.xz =====> xxxx.tar    ##解压

tar Jcvf xxxx.tar.xz       目标文件    ##打包压缩文件

tar Jxvf xxxx.tar.xz                ###xxxx.tar.xz===>xxxx

 

zip

zip -r xxx.tar.zip    xxx.tar        ###压缩

unzip xxx.tar.zip                ###解压

##########例如

tar  cf    etc.tar   /etc/   #####将/etc/中所有东西打包 (无过程)

tar  cvf    etc.tar   /etc/   #####将/etc/中所有东西打包 (有过程)

tar    tf   etc.tar       #####查看包里面的东西

tar    xf   etc.tar        #####将包里面的东西解开

先touch file  然后打入包内   tar   cf   etc.tar    file

tar   -f    etc.tar    --get  file     #######只将包里法file拿出来

tar    -f     etc.tar     --delete  file    ######删除包里面的file

tar  zcvf   etc.tar.gz    /etc/              #####一条命令打包文件

tar  zxvf    etc.tar.gz                   #####解压文件

gzip   etc.tar    ####压缩    gunzip  etc.tar.gz  #### 解压

du   -sh    etc.tar.gz       #######查看包的大小

tar  jcvf   etc.tar.bz2   /etc/              #####一条命令打包文件

tar  jxvf    etc.tar.bz2                   #####解压文件

bzip2  etc.tar                        ######压缩

bunzip2   etc.tar.bz2                   ##############解压

ifconfig    网络接口      ######查看这个接口上的ip

dns作用 就相当与文字和ip之间的担当,免除人们强记号码的痛苦

dns  分为client和server  

ip:网络之间互联的协议

地址格式为:ip地址=网络地址+主机地址

            Ip地址=主机地址+子网地址+主机地址

rsync file |direcotry user@ip: /目录

rsync  user@ip:/目录 /目录

      -r   ###同步目录           -g       ###不忽略组信息

-l      ###不忽略链接        -o      ####不忽略用户信息

-p    ###不忽略权限          -D        ###不忽略设备文件

-t      ####不忽略组信息

sftp root@172.25.100.10   -------输入问号可以看可执行的指令 可执行较少,速度比ssh快

ip    addr   show      ####查看Ip 

rsync   -r   root@172.25.100.11:/etc/ /mnt/

             一个主机改一个主机查看

   ls   -s   file    test1    #####将file生成test1的链接

rsync  -lr      root@172.25.42.11:/etc /mnt/

       -rp      ##不忽略特殊权限

       -rop      ###让用户同步过来

        -rogp     ####让用户和组都同步过来

         -t      #####不忽略时间戳

         -D     #####不忽略设备文件  (dev/pts/里面有设备文件)

检测-rp同步时可以chmod  u+s  file     chmod  +x file

一系列操作如图所示

传输方文件属性为

  

   当执行在接受方执行rsync  -lr   root@172.25.254.213:/mnt/ /mnt/时(不忽略链接)

 

        执行   rsync  -lor   root@172.25.254.213:/mnt/ /mnt/时(链接 用户都同步)

 

命令设定ip的方式

nmcli

nmcli connection delete  命令设定ip的方式

nmcli

nmcli connection delete  连接名称       ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip  ###静态网络

 

网络配置文件

/etc/sysconfig/network-scripts/            ###网络配置目录连接名称  ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip  ###静态网络

 

网络配置文件

/etc/sysconfig/network-scripts/            ###网络配置目录

当执行    rsync  -logr   root@172.25.254.213:/mnt/ /mnt/时(链接 组 用户都同步)

 

命令设定ip的方式

nmcli

nmcli connection delete  连接名称       ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip  ###静态网络

 

网络配置文件

/etc/sysconfig/network-scripts/            ###网络配置目录

命令设定ip的方式命令设定ip的方式

nmcli

nmcli connection delete  连接名称       ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip  ###静态网络

 

网络配置文件

/etc/sysconfig/network-scripts/            ###网络配置目录

nmcli

nmcli connection delete  连接名称       ###删除此连接

nmcli connection add con-name westos ifname eth0 type ethernet autoconnect  yes      ####添加动态网络

nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip  ###静态网络

 

网络配置文件

/etc/sysconfig/network-scripts/            ###网络配置目录

###################################IP##################################

(网络号前三位相同,才可以直接通信)254.254.254.254/255.255.255.0(c类网络)

172.25.0.100/24 =172.25.0.100/255.255.255.0   

172.25.0.0/24  -------------254台主机

指令nm-connection-editor    用图形查看ip

init 3      不显示图形

网络状态为静态 :manual

修改后重启systemctl  restart   NetworkManager 

           systemctl  restart     network

ping      -c1    172.25.42.10    ping一次

ip     route  show     #####查看路由表

netstat    -antulpe     #######查看所有服务

hostnamectl   set-hostnamectl   主机名    ######更改主机名

##########################yum仓库的搭建###########################

1.需要一个与本机匹配的安装镜像,rhel-server-7.0-x86_64-dvd.iso,这个文件从官方网站下载得到

2 搭建步骤

搭建仓库源脚本如下(用vim打开bash.sh)

#!  /bin/bash   

#############搭建本地yum源###################

 mkdir    /westos

   mount  /dev/sr0   /westos/

rm   -fr   /etc/yum.repos.d/*

cat   >/etc/yum.repos.d/yum.repo/   <<endl

[laosiji]

name=laosiji

baseurl=file:///westos

gpgcheck=0

end

 

yum    clean all

##########################

© 著作权归作者所有

W
粉丝 0
博文 2
码字总数 10273
作品 0
西安
程序员
私信 提问
网络工程师真的也需要好好学习linux系统

作为一名刚工作半年的小网工,想总结一下工作半年来的一些感悟。由于本人是网络工程专业,毕业前找工作的目标也是网络工程师,在经过几次面试后如愿以偿的找到了网络工程师的工作。由于上学时...

linuxprobe16
2018/08/19
16
0
Linux经验总结:linux的入门学习流程(菜鸟发贴,仅供参考)(更新RHCE完结)

学习linux快一个多月了,当然我是在培训机构里学习,所有进度比较快(离不开马哥的解压缩式教导。。。),博客里很多同学留言问怎么学习LINUX,所以写下这篇文章。本着尽量避免枯燥的原则来学...

长平狐
2013/06/17
284
1
要不要听听小白学习Linux经验小谈

Linux系统近几年发展的很快,特别是随着安卓手机的普及,大数据、物联网、人工智能等科学技术的发展,Linux系统从几年前只有白帽、黑帽等系统高手才了解的情况下变成如今几乎全民皆知的地步,...

问题终结者
2018/05/06
67
0
接触学习linux系统服务搭建两年来的心得

学习linux有也有快两年多了。从最初的基本命令到现在的服务搭建维护,再到自动化运维,再到系统架构。自己也是一步步走来。慢慢的发现,自己越来越离不开linux了。自己的暗下决心,已经打算在...

linuxprobe16
2017/10/22
15
0
接触学习linux系统服务搭建两年来的心得

学习linux有也有快两年多了。从最初的基本命令到现在的服务搭建维护,再到自动化运维,再到系统架构。自己也是一步步走来。慢慢的发现,自己越来越离不开linux了。自己的暗下决心,已经打算在...

linuxCool
2017/10/22
11
0

没有更多内容

加载失败,请刷新页面

加载更多

如何保证消息不被重复消费

如何保证消息不被重复消费?(如何保证消息消费的幂等性) 举个例子吧。假设你有个系统,消费一条消息就往数据库里插入一条数据,要是你一个消息重复两次,你不就插入了两条,这数据不就错了...

五彩的颜色
34分钟前
6
0
python3.7 django2.2 mysql 异常

错误日志 mysqlclient 1.3.13 or newer is required; File "/Users/huoyinghui/workspaces/drf3/lib/python3.7/site-packages/django/db/utils.py", line 201, in __getitem__ backend =......

hyhlinux
37分钟前
8
0
【2019年8月版】OCP 071认证考试原题-第34题

Choose two. Which two statements are true about the results of using the INTERSECT operator in compound queres? A) Reversing the order of the intersected tables can sometimes af......

oschina_5359
39分钟前
4
0
Dev 日志 | 一次 Segmentation Fault 和 GCC Illegal Instruction 编译问题排查

摘要 笔者最近在重新整理和编译 Nebula Graph 的第三方依赖,选出两个比较有意思的问题给大家分享一下。 Flex Segmentation Fault——Segmentation fault (core dumped) 在编译 Flex 过程中,...

NebulaGraph
39分钟前
8
0
在Windows中安装OpenCV-Python |四

目标 在本教程中 我们将学习在你的Windows系统中设置OpenCV-Python。 下面的步骤在装有Visual Studio 2010和Visual Studio 2012的Windows 7-64位计算机上进行了测试。屏幕截图展示的是VS201...

人工智能遇见磐创
40分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部