清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 中

简介: 清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 中

6. 系统设置

6.1 alias

alias:有些命令很长,或者名字显得别扭,可以给命令起一个别名

命令: alias :显示系统当前定义的所有alias

【案例】 alias cp = ‘cp -i’

【案例】alias li = ‘ls -l -color=tty’

用户可利用alias , 自定指令的别名。若仅输入alias ,则可列出目前所有的别名设置。alias的效力仅基于该次登入的操作。若要每次登入是即自动设置好别名,可在/etc/profile 或自己的 ~/.bashrc 中设定指令的别名。

还有,如果你想给每一位用户都生效的别名,请把 alias la = ‘ls -al’ 一行加在/etc/bashrc最后面

bashrc 是环境变量的配置文件 /etc/bashrc 和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用,如果你想给每一位用户都生效的别名,请把alias la = ‘ls -al’ 一行加在 /etc/bashrc 最后面,bashrc是环境变量的配置文件 /etc/bashrc 和~/.bashrc 区别就在于一个是设置给全系统一个是设置给单用户使用

命令的执行顺序:

1: 执行用绝对路径和相对路径的命令

2:执行别名

3:执行Bash的内部命令

4:执行按照¥PATH 环境变量定义的目录找到第一个命令

6.2 alias

unalias:删除别名

语法:unalias 别名

6.3 export

export, 设置和显示环境变量

export 命令可新增、修改和删除环境变量

export -p :列出所有的shell 赋予程序的环境变量。

6.4 man

man [command] , 帮助,类似与dos中的help ;man实际为manual(操作说明),

man的级别:

1:查看命令的帮助

2:查看可被内核调用的函数的帮助

3:查看函数和函数库的帮助

4:查看特殊文件得帮助,主要是 /dev 目录下的文件

5:查看配置文件的帮助

6:查看游戏的帮助

7:查看其它杂项的帮助

8:查看系统管理员可用命令的帮助

9:查看和内核相关文件得帮助

查看命令拥有那个级别的帮助:

man -f 命令,相当于whats命令

eg:man -5 passwd

man -4 null

man -8 ifconfig

查看和命令相关的所有帮助

man -k命令,相当于 apropos 命令

7.系统管理

7.1 shutdown

shutdown ,系统关机命令

-h:关机

-r: 重启

shutdown -h now 立即进行关机

其它关机命令还有:halt 、poweroff 、init 0

7.2 reboot

reboot,重启命令

执行reboot 指令会让系统停止运作并重新开机

其它重启命令:

shutdown -r now 现在重新启动计算机

7.3 logout

logout ,注销登录

在linux 提示符下输入logout ,即可让用户注销登录,退出系统

7.4 who

who,显示当前登录系统的用户信息

命令输出:

登录名

登录终端

登录时间(登录来源的IP地址)

7.5 whoaml

显示自身用户名称

7.6 su

su :切换用户(switch user)

语法:su userName

su 命令用于切换其他用户 ,除了切换root 外,切换其他用户都需要输入密码

7.7 w

w 用户名:

输出

USER:登录的用户名

TTY:登录终端

FROM:哪个IP地址登录的

LOGIN@:登录时间

IDLE:用户闲置时间

JCPU:指的是和该终端连接的所有进程占有的时间,这个时间里并不包括过去的后台作用时间,但却包括当前正在运行的后台作用所占用的时间

PCPU:是指当前进程所占用的时间

WHAT:当前正在运行的命令

7.8 useradd

useradd ,添加用户

语法: useradd 用户名

如添加一个名为happy的用户:useradd happy

7.9 passwd

passwd,为新用户设密码

语法:passwd 用户名

如修改happy 的密码:passwdhappy

7.10 userdel

userdel,删除用户

语法:usedel 用户名

如:userdel happy,删除用户但保存用户主目录

如:userdel -r happy,删除用户以及用户主目录

7.11 history

history :历史命令

-c:清空历史命令

-w:把缓存中的历史命令写入到历史命令保存文件:~/.bash_history

建议不用清空历史文件:1 方便,2 便于排错容灾

历史命令的使用

使用上、下箭头调用以前的历史命令

使用“!n” 重复执行第n 条历史命令

使用“!!” 重复执行上一条命令

使用“! 字符串” 重复执行最后一条以该字符串开头的命令

如 service network restart==!ser

执行最后一条包含ser 字符串的命令,方便快捷

命令补全:tab 键,一下和两下

7.12 date

date命令:显示或设置系统时间或日期

可以在直接输入“date” 命令来查看系统的时间

date + %y/%m/%d

2017/06/15

date “+%Y-%m-%d %H:%M:%S”

2017-02-27 12:37:15

利用date 命令来更改系统的时间

date MMDDHHMMCCYY.SS:月 月 日 日 时 时 分 分 年 年.秒 秒

date -s “2017-08-15 21:32:25”

7.13 clear

clear ,清除执行记录,清除屏幕

8. 网络通信

8.1 ifconfig

查看本机当前网卡配置和网络状态信息

9. 文件搜索

9.1 which

which 查找“执行文件”

Which 指令会在系统环境变量 $PATH 设置的目录里去查找符合条件的文件

-a 将所有可找到的命令均列出,否则列出第一个找到的命令名称

Which 还可以查找别名 ,如 which ll

9.2 whereis

Whereis 寻找特定文件 whereis [-bmsu] 文件或目录

常见参数:

-b: 只找二进制文件(即可执行文件)

-m:只找在帮助文件,manual 路径下的文件

-s :只找源文件

-u: 没有帮助文件的文件

9.3 grep

grep ,在文本中查询内容

语法:grep 搜索字符串 fileName

如一个文件 Hello.java 中含有Lemon 关键字,可以使用grep 命令进行查找:

Grep -n Lemon Hello.java

其中的-n 表示在第n行

9.4 find

find ,搜索文件及目录

Linux 的文件系统由级别式的结构组成,所以在linux中找到特定的文件和目录并不是件容易的事。而“find” 命令可以解决上述问题

语法:find [路径] [选项]

查找时可以使用 linux 中通配符来匹配内容:

*:匹配任意内容

?:匹配任意一个字符

[] :匹配任意一个中括号的字符

05beb79601e3c405344dd78739c96ab.png

find 还有很多个性化的操作,如按照所有者、时间、大小限制 进行搜索,作为测试人员用的频率并不高,因此这里不再详述,感兴趣自己去了解下。

find 与 grep 命令的区别:

find :在系统中搜索符合文件的文件名

grep :在文件当中弄搜索符合条件的字符串

10. 文件权限管理

10.1 权限概述

Ls -l 中显示的内容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

10个字符确定不同用户能对文件干什么

第一个字符代表文件(-)、目录(d)、链接(l)

其余字符每3个一组 (rwx),读(r)、写(w)、执行(x)

第一组 rwx: 文件所有者的权限是读、写和执行

第二组 rw- :与文件所有者同一组的用户的权限是读、写但不能执行

第三组 r-- :不与文件所有者同组的其他用户的权限是读不能写和执行

用数字表示为:r=4 ,w=2 ,x=1 因此 rwx =4+2+1 = 7

1 表示连接的文件数

root 表示用户

root 表示用户所在的组

1213 表示文件大小(字节)

Feb 2 09:39 表示最后修改日期

abc 表示文件名

10.2 权限的作用

10.2.1 权限对文件的作用

r :读取文件的内容,cat more head tail

w :编辑、新增、修改文件内容 vi echo

(有写权限、但是不一定有权限删除,因为写指的是对下一级写权限,二能否删除,需要看上一级目录的权限)

x : 可执行

10.2.2. 权限对目录的作用

r : 可以查询目录下的文件名

w : 具有修改目录结构的权限,如新建文档和目录,删除该目录下的文件和目录,重命名该目录下的文件和目录,剪切(touch ,rm ,mv ,cp)

x :可以进入目录(cd)

10.3 文件权限命令

10.4 chmod

chmod 改变文件或目录的权限

赋值方式:

chmod 755 abc :赋予abc 权限 rwxr-xr-x

指定方式:

chmod u = rwx ,g= rx,o=rx abc :同上 u = 用户权限,g= 组权限,o=不同组其他用户权限

增加、减去

chmod u-x ,g+w abc : 给abc 去除 用户执行的权限,增加组写的权限

chmod a+r abc :给所有用户添加读的权限

10.5 chown

改变所有者(chown)

chown xiaoming abc :改变abc 的所有者为xiaoming

chown root ./abc :改变abc 这个目录的所有者是root

chown -r root ./abc :改变abc 这个目录及其下面所有的文件和目录的所有者是root

10.6 chgrp

改变用户组(chgrp)

chgrp root abc: 改变abc 所属的组为root

Chown root:root text.txt

10.7 usermod

改变用户所在组

在天剑用户时,可以指定将用户添加到哪个组中,同样用root的管理权限可以改变某个用户所在的组

usermod -g 组名 用户名

你可以用

usermod -d 目录名 用户名,改变该用户登录的初始目录

10.8 注意点

对文件来说:最高权限是 x ,隐藏对文件要慎用执行权限

对目录来说:最高权限是 w:只有赋0、 5(rx)、 7(rwx), 因此对目录来讲要慎用写权限

案例:新建用户 user1, 组为 user2

通过root修改某文件权限,通过user1 来进行验证

尽量赋予最小的权限,避免777 权限

10.9 案例

10.9.1 综合案例1

【题1.1】 建立两个用户组group1 和group2, 以及三个用户dennis、daniel、abigale,并且将前2个用户分配在group1 用户组下,最后一个分配在group2用户组下

f67f5c6f2a562fc6719508c95ea4a82.jpg

【题1.2】 以 dennis 用户登录,创建一个Hello.java文件

【题1.3】以daniel 用户登录,观察是否可以访问 /home/dennis 目录以及读或写其创建的Hello.java文件

【题1.4】以dennis 用户登录,修改目录/home/dennis 以及Hello.java文件的读写权限(更正:修改目录权限的时候,应该使用770,而不是760,否则权限不足)

ec306e56996cec9e628945f54d62c02.jpg

【题1.6】改变abigale的用户组由group2 变为 group1

7a89ab4af41a5b0edd7be8c8b1f68d9.png

然后,可以使用cat /etc/passwd 查看并确定

73601e1f7c42bac184d2548c007eac0.jpg

【参考】

groupadd 组名 ,在linux中添加组

vi /etc/group ,查看linux中所有组信息,可以看可以编辑

cat /etc/group ,查看linux中所有组信息,只可以看不可以编辑

useradd -g 组名 用户名,创建用户的同时指定将该用户分配到哪个组下

vi /etc/passwd , 查看 linux中所有用户信息,可以看可以编辑

cat /etc/passwd ,查看linux 中所有用户信息,只可以看不可以编辑

10.9.2 综合案例2

实例:

police、terrorists组

创建组:

groupadd police

groupadd terrorists

创建用户:

useradd -g组名 用户名

添加密码:

passwd tommy

给tommy 设置密码

查看linux 中所有用户的信息

vi /etc/passwd

cat /etc/passwd

改变用户的组:

usermod -g

目录
相关文章
|
3月前
|
安全 网络安全
GitHub星标4000!清华大牛的CTF竞赛入门指南,真的太香了!
想进入网络安全行业、实现从学校到职场的跨越,参加CTF竞赛是很好的成长途径。 通俗而言,CTF是模拟“黑客”所使用的技术、工具、方法等手段发展出来的网络安全竞赛,有了手段之后需要的就是经验与黑客感(HackorFeel)。 CTF赛题涉及的领域很广,市面上也早有在知识广度上均有所覆盖的CTF书籍,但没有深入单一领域的内容,尤其是Pwn方向的。 Pwn是网络安全攻防最有魅力的部分,对于原教旨攻防人士来说,Pwm才是原汁原味的技术体现。二进制Pwn一直是CTF比赛的热点和难点。
|
3月前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。
|
3月前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。
|
3月前
|
XML SQL 安全
【网络安全】Web Hacking网络黑客手册,GitHub星标3.7K!
在黑客攻击的演变过程中,防火墙只是一个减速带。黑客攻击不断发展,变得越来越复杂,适应能力和创造力都在不断增强,造成的破坏也越来越大。通过网络端口进行的 Web 攻击影响巨大。 今天给小伙伴们分享的这份手册主要讲解了Web黑客攻击方向。描述了 Web 语言和协议、Web 和数据库服务器以及支付系统。介绍了完整的方法论,包括技术和攻击、对策、工具,以及案例研究和 Web 攻击场景,展示了不同攻击的工作原理及其工作原理。
|
3月前
|
Linux 网络安全 API
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
|
4月前
|
网络协议 Unix Linux
网安人必须人手一份的《Linux私房教程》,GitHub星标286K!
Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。 作为网络安全的初学者,Linux基础知识和常用命令是我们的必备技能,我们不能只会操作Windows相关的工具。一方面很多网站都是基于Linux环境搭建,比如LAMP,其安全性更好;另一方面,很多命令或工具都集成在了Linux相关环境中,比如Kali等。 今天给小伙伴们分享一份Linux私房教程,这份
爆赞!GitHub首本Python开发实战背记手册,标星果然百万名不虚传
Python (发音:[ 'paiθ(ə) n; (US) 'paiθɔn ] n. 蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。 Python 语言的特点:
|
1月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
79 3
|
3月前
|
SQL JavaScript 前端开发
Github 2024-08-05 开源项目周报 Top15
根据 Github Trendings 的统计,本周(2024年8月5日统计)共有15个项目上榜。以下是根据开发语言汇总的项目数量: - Go 项目:4个 - JavaScript 项目:3个 - Python 项目:3个 - Java 项目:2个 - TypeScript 项目:2个 - C 项目:1个 - Shell 项目:1个 - Dockerfile 项目:1个 - 非开发语言项目:1个
121 2
|
3月前
|
人工智能 Rust JavaScript
Github 2024-08-26 开源项目周报Top15
根据Github Trendings的统计,本周共有15个项目上榜。以下是按开发语言汇总的项目数量:Python项目8个,TypeScript、C++ 和 Rust 项目各2个,Jupyter Notebook、Shell、Swift 和 Dart 项目各1个。其中,RustDesk 是一款用 Rust 编写的开源远程桌面软件,可作为 TeamViewer 的替代品;Whisper 是一个通用的语音识别模型,基于大规模音频数据集训练而成;初学者的生成式人工智能(第2版)则是由微软提供的18门课程,教授构建生成式AI应用所需的知识。
132 1
下一篇
无影云桌面