linux常用命令(主机信息、用户管理、用户组管理、文件管理、快捷键)

发布时间:2024年01月11日

0x01 基础概念

命令是Linux系统的灵魂,学习Linux就要先学习他的基本灵魂。
需要特别注意的是,Linux系统是对大小写敏感的。
区别于windows系统,win系统是大小写不敏感的。

Linux命令的分类

内置shell命令和外部命令
内部命令:属于shell解释器的一部分(自带的)
外部命令:独立于shell解释器之外的程序文件(安装程序需要的命令)

Linux通用命令

格式命令字+选项+参数
选项及参数的含义
	1.选项:用于命令调节的具体功能
	2.以 “-” 引导短格式选项(单个字符),如 “-l”
	3.以 “-” 引导长格式选项(多个字符),如 “-color”
	4.多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”
参数:命令操作的对象,如文件、目录名等
例如: ls -l /home

0x02 基本操作

1、快捷键

# 清屏 
Ctrl + L 或者 clear 

# 快速补齐 
[Tab] 

# 终止执行的命令 
[ctrl + c] 

# 挂起正在执行的命令 
[ctrl + z] 

# 恢复 
fg xxx

2、开关机

# 关机
poweroff
halt
init 0

# 设置运行级别
init level

#init 0 - 停机(千万不能把initdefault 设置为0 )
#init 1 - 单用户模式,只root用户进行维护
#init 2 - 多用户,不能使用NFS(Net File System) 不联网
#init 3 - 完全多用户模式(标准的运行级)
#init 4 - 安全模式
#init 5 - X11 (xwindow) 图形化界面模式
#init 6 - 重新启动 (千万不要把initdefault 设置为6 )

# 重启
reboot
init 6

# 退出登录
exit

3、查看主机信息

hostname 	# 查看主机名 
ifconfig	# 查看IP地址信息 
whoami 		# 查看当前用户名 
w 			# 显示目前登入系统的用户信息 
who			#查看当前登录的用户 
uname -a	#显示内核/操作系统/CPU信息。
uname -r	#显示内核版本

cat /etc/issue 			#查看系统版本
cat /etc/*-release		#查看系统版本
cat /proc/cpuinfo		#显示CPU信息。

head /etc/issue			#显示操作系统的版本信息
hostname				#显示当前系统的主机名。
grep MemTotal /proc/meminfo		#用于查看内存总量。
grep MemFree /proc/meminfo		#用于查看空闲内存量。
uptime							#用于显示系统运行时间、用户数和负载情况。
cat /proc/loadavg				#用于查看系统负载。
free -m							#查看内存使用量和交换区使用量(以MB为单位)。
df -h							#查看各分区使用情况(以可读的格式显示)。

4、用户管理

useradd:用于添加新用户。
示例:useradd newuser
说明:添加名为newuser的新用户。
扩展:
useradd 选项 用户名 
	-c comment 指定一段注释性描述。 
	-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 
	-g 用户组 指定用户所属的用户组。 
	-G 用户组,用户组 指定用户所属的附加组。 
	-s Shell文件 指定用户的登录Shell。 
	-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

userdel:用于删除用户。
示例:userdel olduser
说明:删除名为olduser的用户。

passwd:用于设置或更改用户密码。
示例:passwd username
说明:为指定用户设置或更改密码。
拓展:用户的口令管理
passwd 选项 用户名 
	-l 锁定口令,即禁用账号。 
	-u 口令解锁。 
	-d 使账号无口令。 
	-f 强迫用户下次登录时修改口令。

su:用于切换到其他用户。
示例:su - username
说明:切换到指定的用户。

who、w:用于查看当前登录的用户及其活动。
示例:who 或 w
说明:显示当前登录的用户列表和他们的活动状态。

last:用于显示最近的登录记录。
示例:last
说明:显示最近登录的用户和登录时间。

usermod:用于修改用户属性。
示例:usermod -L username
说明:锁定用户,禁止其更改密码和登录。

chage:用于查看和修改用户的密码过期信息。
示例:chage -l username
说明:查看用户的密码过期信息。

sudo:允许用户以其他用户的身份执行命令,可以用来切换用户或执行管理任务。
示例:sudo -u username command
说明:以username用户的身份执行command命令。
拓展:
-V 显示版本编号 
	-h 会显示版本编号及指令的使用方式说明 
	-l 显示出自己(执行 sudo 的使用者)的权限 
	-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次 确认,如果超过 N 分钟,也会问密码 
	-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟) 
	-b 将要执行的指令放在背景执行 
	-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称 
	-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username的身份执行指令(#uid 为该 username 的使用者号码) 
	-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell 
	-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者root ) 
	command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
	
logout:用于退出当前用户会话。
示例:logout
说明:退出当前用户会话,注销登录。

exit:用于退出当前shell或终端会话。
示例:exit
说明:退出当前shell或终端会话,注销登录。

usermod:用于修改用户账户的属性。它可以修改用户的各种属性,如用户名、用户ID、用户组ID、用户主目录、用户登录shell等。
示例1:usermod -l newname oldname
说明:修改用户登录名,把名为oldname的用户账户的登录名改为newname。
示例2:usermod -d /new/home/directory username
说明:修改用户主目录,把名为username的用户的主目录改为/new/home/directory。请注意,如果新目录不存在,需要先创建它。
示例3:usermod -s /new/shell username
说明:修改用户登录shell,把名为username的用户的登录shell改为/new/shell。请注意,如果新shell不存在,需要先安装它。
示例4:usermod -g newgroup username
说明:修改用户所属的组,把名为username的用户所属的组改为newgroup。请注意,如果新组不存在,需要先创建它。
示例5:usermod -L username
说明:锁定用户账户,锁定名为username的用户账户,使密码无效。被锁定的账户无法登录。
示例6:usermod -U username
说明:解锁用户账户,解锁名为username的用户账户,使密码恢复生效。被解锁的账户可以正常登录。

#用户信息与密码的配置文件
用户信息文件: /etc/passwd 
密码文件: /etc/shadow 
用户组文件: /etc/group 
组密码:/etc/gshadow

5、用户组管理

groupadd:用于添加新用户组。
示例:groupadd newgroup
说明:添加名为newgroup的新用户组。

groupdel:用于删除用户组。
示例:groupdel oldgroup
说明:删除名为oldgroup的用户组。

gpasswd:用于设置或更改用户组密码。
示例:gpasswd newgroup
说明:为名为newgroup的用户组设置密码。

grep:用于搜索文本,也可以用于搜索用户是否属于特定用户组。
示例:grep "username" /etc/group
说明:检查用户是否属于特定的用户组。

newgrp:用于切换用户所属的组。
示例:newgrp newgroup
说明:将当前用户切换到newgroup组。

sudo:允许用户以其他用户的身份执行命令,可以用来切换用户组。
示例:sudo -u username command
说明:以username用户的身份执行command命令。

su:用于切换到其他用户,也可以切换用户组。
示例:su - username
说明:切换到username用户,并加载其环境变量和组信息。

6、文件与目录管理

ls:列出目录中的文件和子目录。
示例:ls -l
说明:以长格式列出目录中的文件和子目录,显示详细信息。

cd:切换当前工作目录。
示例:cd /path/to/directory
说明:将当前工作目录切换到指定目录。

pwd:显示当前工作目录的完整路径。
示例:pwd
说明:显示当前工作目录的完整路径。

mkdir:创建新目录。
示例:mkdir new_directory
说明:在当前目录下创建一个名为new_directory的新目录。

rmdir:删除空目录。
示例:rmdir empty_directory
说明:删除名为empty_directory的空目录。

touch:创建空文件或更新文件时间戳。
示例:touch new_file.txt
说明:在当前目录下创建一个名为new_file.txt的空文件,如果文件已存在,则更新其时间戳。

cp:复制文件或目录。
示例:cp source.txt destination.txt
说明:将source.txt复制为destination.txt。

mv:移动或重命名文件或目录。
示例:mv old_name.txt new_name.txt
说明:将old_name.txt重命名为new_name.txt。

rm:删除文件或目录。
示例:rm file.txt
说明:删除名为file.txt的文件。

file:确定文件类型。
示例:file file.txt
说明:查看file.txt的类型(例如,文本文件、二进制文件等)。

du:估计文件空间使用情况。
示例:du -h file.txt
说明:查看file.txt所占用的空间大小(以人类可读的格式显示)。

#查看文件内容
cat:用于显示整个文件的内容。
示例:cat file.txt
说明:显示file.txt文件的内容。

tac:用于反向查看文件内容,即从最后一行到第一行。
示例:tac file.txt
说明:从file.txt文件的最后一行开始,反向显示文件内容。

head:用于显示文件的前几行内容,默认是前10行。
示例:head file.txt
说明:显示file.txt文件的前10行内容。

tail:用于显示文件的后几行内容,默认是最后10行。
示例:tail file.txt
说明:显示file.txt文件的最后10行内容。

more:以一页一页的形式查看文件内容,支持交互式操作。
示例:more file.txt
说明:分页显示file.txt文件的内容,可以按空格键向下滚动一页,按Enter键向下滚动一行等。

less:与more类似,但功能更强大,支持向前和向后翻页、搜索等操作。
示例:less file.txt
说明:分页显示file.txt文件的内容,可以使用上下箭头键、Page Up/Page Down键等翻页,使用/键进行搜索等。


#用于搜索和定位特定的文件或目录
find:用于在目录树中查找文件,并根据各种条件进行过滤。
示例:find /path/to/search -name "*.txt"
说明:在指定路径下查找所有扩展名为.txt的文件。

grep:用于在文件中查找特定的字符串或模式。
示例:grep "hello" /path/to/file
说明:在指定文件中查找包含“hello”的行。

whereis:用于查找二进制文件、源代码文件和帮助文件。
示例:whereis ls
说明:查找ls命令相关的二进制文件、源代码文件和帮助文件。

locate:用于快速查找系统中的文件。它依赖于预先构建的数据库,所以不是实时的,但在大系统中通常比find更快。
示例:locate /etc/passwd
说明:查找名为“/etc/passwd”的文件。

7、网络配置

ifconfig:用于配置和显示网络接口的信息。
示例:ifconfig eth0 192.168.0.100
说明:设置eth0接口的IP地址为192.168.0.100。

ping:用于测试与目标主机之间的连通性。
示例:ping 192.168.0.1
说明:检查与IP地址为192.168.0.1的主机的连通性。

traceroute:用于跟踪数据包在网络中的路径。
示例:traceroute www.example.com
说明:查看数据包到达www.example.com的路径和延迟。

netstat:用于显示网络连接、路由表和网络接口统计信息。
示例:netstat -an
说明:显示所有活动的网络连接和监听的端口。

wget:用于从网络上下载文件。
示例:wget http://www.example.com/file.txt
说明:从www.example.com下载名为file.txt的文件。

ssh:用于远程登录到另一台计算机,进行安全的数据传输。
示例:ssh user@remote_host
说明:通过SSH协议安全地连接到远程主机。

curl:用于从命令行获取或发送数据,支持多种协议。
示例:curl http://www.example.com/data
说明:使用curl命令从指定URL获取数据。

nc (netcat):用于在网络上进行读写操作。
示例:nc -l -p 8080
说明:在本地主机上监听8080端口,等待其他主机的连接。

nmap:用于扫描网络上的主机和服务。
示例:nmap -sP 192.168.0.0/24
说明:扫描IP地址范围192.168.0.0至192.168.0.255,检查哪些主机是活跃的。

host:用于域名解析。
示例:host www.example.com
说明:查看www.example.com的IP地址信息。
文章来源:https://blog.csdn.net/qq_45174221/article/details/135521013
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。