linux request_Linux学习小结(二)

一、文件传输

1.1 远程拷贝

1.1.1 将本地文件复制到远程机器

命令:scp local_file remote_username@remote_ip:remote_folder

例:

b5f69791029d5a03afa773d651ca873e.png

第一次远程拷贝时,需要在箭头1初输入yes确认一下,验证一下远程主机。然后在箭头2处输入一下远程主机的密码。

1.1.2 将远程机器上的文件复制到本地

命令:scp remote_username@remote_ip:remote_file local_folder

15661cd28dfc42c6ef114b7fca5a167a.png

将102虚拟机上root目录下的文件拷贝到本地usr目录下

注意:如果换成是目录则在scp后面添加-r就可以了。

1.2 上传及下载

需先安装好lrzsz : yum install lrzsz -y

安装好后,输入上传的命令rz,弹出一下windows界面,选择一个windows系统里的文件上传至虚拟机的当前目录下

下载命令为sz,sz命令只能下载文件,不能是目录,可先将目录压缩成一个包,再下载至windows系统。下载完之后,按ctrl+c结束。

027e11ff17310d5925011ca1d9597c3f.png

注:除了可以用rz sz命令进行本地windows系统和虚拟机之间的文件传输,还可以使用XFTP软件。

二、磁盘指令

2.1 查看硬盘信息

命令:df

默认硬盘分区的大小以kb显示

ba5a8a977fa90c22db0793e771a274fa.png

可以在df后面加参数-m mb单位, -k kb单位 , -h 更易于阅读

40f7c979df7b8a25ce0a126eb748ff59.png

2.2 查看文件、目录的大小

命令:du 文件名字/目录名字 ,默认单位为kb

​ -k kb单位

​ -m mb单位

​ -a 所有文件和目录

​ -h 更易于阅读

​ --max-depth=0 目录深度

查看/etc/profile文件大小

74bfa9654929c521e031cedfa7e842a6.png

查看/etc目录下,所有文件的大小:du /etc/

查看/etc目录大小,并且目录大小的单位根据实际大小,自动选择。

afc86999984a0b178dfc699265cd9066.png

三、网络指令

3.1 查看网络配置信息

ef030efba5a6225c7eca681dec835de5.png

箭头1指向的是本机IP,箭头2为广播地址,箭头3位子网掩码。

3.2 测试与目标主机的连通性

命令:ping remote_ip

9e5d75b11662583158a5a1fbfa05f1cb.png

输入ping 192.168.87.1代表测试本机和1主机的网络情况,箭头1表示一共接收到了3个包,箭头2表示丢包率为0,表示两者之间的网络顺畅。

注意:linux系统的ping命令会一直发送数据包,进行测试,除非认为的按ctrl + c停止掉,windows系统默认只会发4个包进行测试,以下为windows的dos命令。

3.3 显示各种网络相关信息

命令:netstat

-a (all)显示所有选项,默认不显示LISTEN相关 -t (tcp)仅显示tcp相关选项 -u (udp)仅显示udp相关选项 -n 拒绝显示别名,能显示数字的全部转化成数字。 -l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名 -r 显示路由信息,路由表 -e 显示扩展信息,例如uid等 -s 按各个协议进行统计 -c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

0fa417f75d7f6d80516cf2a312ff2634.png

图中1表示的是本机地址,2表示外部地址,如1中的192.168.87.101是该机的ip,连接的端口号为22,3中的192.168.87.1外部机的ip,56545是与本机连接的软件占用的端口号。

2.4 测试远程主机的网络端口

需安装telnet : yum install telnet -y

命令: telnet ip port

5d346a44bd62c26caef740d60e9c622a.png

上图说明,101远程主机的22端口,我们本机是可以连的上的。

2.5 http请求模拟

命令: curl [option][url]

用法:

-X/--request [GET|POST|PUT|DELETE|…] 使用指定的http method发出 http request

-H/--header 设定request里的header

-i/--include 显示response的header

-d/--data 设定 http parameters

-v/--verbose 输出比较多的信息

-u/--user 使用者账号,密码

-b/--cookie cookie

参数-X跟--request兩个功能是一样的

example:

curl -X GET http://www.baidu.com/

模拟http的get请求,访问www.baidu.com.

三、系统管理

3.1 用户操作

3.1.1 创建用户

00682c6681cb6b7652ba94cd3092ff59.png

3.1.2 删除用户

userdel -r username

3.1.3 修改用户

命令:usermod

注意:usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变user时,必须确认这名user没在电脑上执行任何程序。

(1)修改用户名

usermod -l new_name old_name

(2)锁定账号

usermod -L username

账号锁定期间,用户输入的命令无论正确与否都提示密码错误,登录不了,即冻结了账号。

(3)解除锁定

usermod -U mytest

(4)查看用户

ab6e5b5c0db2f3377c6993ce5fbe0c01.png

普通用户可查看/etc/passwd文件,得出系统一个有多少个用户;除此之外,root用户还可以查看/etc/shadow文件,来得出系统一个有多少用户

3.2 用户组操作

3.2.1 创建用户组

命令:groupadd groupname

3.2.2 删除用户组

groupdel groupname

3.2.3 修改用户组

命令:groupmod -n new_name old_name

3.2.4 查看用户组

命令:groups 查看当前登录用户的组内成员

159bbddf99fb0dc03d3b6950c0aec74b.png

即当前的root用户所属的组为root组。

命令:groups username 查看指定用户所在的组

注意:创建用户时,系统默认会创建一个和用户名字一样的主组。

usermod -G 组名 用户 (或者:groupmems -a 用户 -g 组名) —— 把用户添加到附加组当中

如果想查看一个组下面一共有多少用户,可以通过查看/etc/group文件的内容来得到.

3.3 系统权限

查看/usr 目录下的每个文件或目录的权限

命令: ll /usr

8c5b672cd48502ccf85cf0ef97cc77e0.png

3.3.1 权限类别

Linux中,每个文件或目录都拥有三种权限

权限 对文件的影响 对目录的影响

r(读取) 可读取文件 可列出目录内容

w(写入) 可修改文件内容 可在目录中创建删除文件

x(执行) 可以执行文件 可访问目录内容

3.3.2 UGO模型

Linux权限基于UGO模型进行控制

U代表User, G代表Group, O代表other

每一个文件的权限基于UGO进行设置

权限三个一组(rwx), 对应UGO分别设置

每个文件都有一个拥有者/用户(User), 用户的所属组即(Group), 不属于上面的都是other

(1)修改文件/目录的拥有者

命令:chown username 文件/目录

命令:chown username:groupname 文件/目录

同时修改一个文件或目录的所有者和属组。

如果要递归修改整个目录下的所有者或属组,加参数-R.

如:chown -R mytest:test 目录名字

75cbadeb14a0e22ad27a647a0b7c97dd.png

(2)修改文件/目录的属组

chgrp groupname name

(3)修改文件、目录权限

命令:chmod ugo+rwx name

权限的另外一种修改方式:将rwx rwx rwx 三组权限的读写执行权限分别用0和1代替,1代表有权限,0代表没权限,最后将三组二进制转化成十进制。

命令:chmod 700 myfile

700 rwx --- ---

777 rwx rwx rwx

四、系统配置

4.1 用户组信息配置

/etc/group

4.2 用户信息配置

/etc/shadow和/etc/passwd系统存在的所有用户名

4.3 系统服务初始化配置

​ 0:停机状态

1:单用户模式,root账户进行操作

2:多用户,不能使用net file system,一般很少用

3:完全多用户,一部分启动,一部分不启动,命令行界面

4:未使用、未定义的保留模式

5:图形化,3级别中启动的进程都启动,并且会启动一部分图形界面进程。

6:停止所有进程,卸载文件系统,重新启动(reboot)

这些级别中1、2、4很少用,相对而言0、3、5、6用的会较多。3级别和5级别除了桌面相关的进程外没有什么区别。为了减少资源占用,推荐都用3级别.

注意 :linux默认级别为3,不要把initdefault 设置为0 和 6

4.4 主机名配置

若要修改主机名字,可在/etc/sysconfig/network文件里修改.

vim /etc/sysconfig/network

2f08600c9826a602bba1f711241ce884.png

机器重启才能生效

4.5 DNS配置

hosts文件的作用相当于DNS,提供IP地址hostname的对应,可在这个文件里添加映射。域名解析

vi /etc/hosts

e69499ff4886fc3e085bcce6b667a4d9.png

/etc/resolv.conf 为DNS服务器的地址文件

800f696bae33ec36d73e5e5692330945.png

4.6 sudo权限配置

使用Linux系统时,经常会被要求使用超级权限,对于普通用户来说,一个简单的sudo即可解决大部分问题。

编辑sudoers

用 visudo 命令,进行编辑

格式:授权用户 主机=[(切换到哪些用户或用户组)][是否需要密码验证] 命令

6d89c8045cc10eec154163791f9f54e1.png

接下来mytest用户就可以用yum 和 service 命令了。

注意:在使用命令时,需要加sudo 然后在敲命令,且第一次使用时需要mytest用户密码,接下来每隔15分钟需要一次密码验证。(如:sudo yum install vim -y)

如果不需要密码直接运行命令的,应该加NOPASSWD:参数

387337d1cdaed13af677869a7568538d.png

sudo -l 列出该用户所有sudo权限。

如果要将权限赋予某一个组,则需要在组名前加%,

08f277126a0c3b37eed07dd629c5a1c7.png

4.7 系统时间

4.7.1 查看系统时间

命令:date

5b552963bc0190cb462637acf2076180.png

4.7.2 更改系统时间

(1)

date -s 2012-08-02只修改系统的日期

date -s 10:08:00 修改时间不修改日期

date -s "2018-01-01 04:53:00" 同时修改日期和时间

缺点:不准确

(2)

需要事先安装ntp服务:yum install ntp -y

命令:ntpdate http://cn.ntp.org.cn

22bdc54aa4f64029c81d7320190602a9.png

该命令表示为:到域名为http://cn.ntp.org.cn的时间服务器上同步时间。

注:全球的时间服务器有很多个,可以到百度或谷歌上搜,不一定用http://cn.ntp.org.cn的时间服务器。

4.9 环境变量

4761a834990b95869fd2624bb94a2403.png

如图test.sh脚本有三种运行方式:

一种是到脚本的目录下执行:

运行命令 : ./test.sh ,代表执行当前目录里的脚本test.sh

c942b9bb9123cb60d70454ab6c0783be.png

一种是敲脚本的绝对路径:/usr/test/test.sh

第三种是配一个环境变量

编辑: vim /etc/profile 将test.sh所在目录添加到path里就OK,我这里test.sh是在/usr/test目录下。

81f7c7d80bfc7a30c2bdb0191eb5db1e.png

编辑完之后,执行source /etc/profile命令,重新加载环境变量,此时会发现PATH路径多了一个/usr/test。

最后验证一下,直接执行test.sh

五、重定向与管道

5.1 重定向符号

5.1.1输出重定向

> 输出重定向到一个文件或设备 覆盖原来的文件

>> 输出重定向到一个文件或设备 追加原来的文件

ping http://www.baidu.com > lg.log

5.1.2 输入重定向

< 输入重定向到一个程序

cat < lg.log,将lg.log文件里的内容当作是cat 命令的输入

80eddd40a7dec849a67d11d9c7b9a4a9.png

5.2 标准/错误输出重定向

标准输出重定向

符号“1>”等价于”>”

错误输出重定向

符号“2>”

结合使用

符号“2>&1” ; 例:cat shanghai > lg.log 2>&1

5.3 管道|

命令 “|” 表示把前一个输出当做后一个输入

|和grep命令结合使用: netstat -anpt | grep 25

38b4fb4e1bf76f50b7bb8c98fa0ce4c4.png

5.4 命令执行控制

命令:&& 前一个命令执行成功才会执行后一个命令

命令:|| 前一个命令执行失败才会执行后一个命令

5.5 信息黑洞

写入它的内容都会永远丢失,说白了就是不显示任何信息

/dev/null

ls > /dev/null

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值