Linux从入门到入土

文章目录

    • 基础篇
      • Linux目录中/和~的区别
      • ls 命令
      • cd / pwd 命令
      • mkdir 命令
      • touch / cat / more 命令
      • cp / mv / rm 命令
      • which / find 命令
      • grep / wc 命令
      • 管道符 【Imp】
      • echo 命令
      • 反引号 ``
      • 重定向符
      • tail 命令
      • Vi / Vim 命令 【Imp】
    • 中级篇
      • su / exit 命令
      • sudo 命令
      • 用户组管理
    • 需求(用户加入docker组):
      • chmod 命令
      • chown命令
      • 快捷键
    • 高级篇
      • yum 命令
      • systemctl命令
      • ps 命令
      • Java 堆栈跟踪工具 jsp
      • kill 命令
      • ln 命令
      • tar 命令
      • zip / unzip 命令

基础篇

Linux目录中/和~的区别

/是指根目录:就是所有目录最顶层的目录
~是当前用户的主目录:如果是root用户就是/root/目录, 如果是其他用户就是/home/下用户名命名的用户,该主目录是我们在新建某个Linux账户的时候指定的一个目录。 
比如,root用户的主目录是/root,那么~对应/root,
如果我们新建一个用户wsys对应主目录/home/wsys,那么wsys登陆后的目录就是/wsys.

ls 命令

ls [-a -l -h]
-a 列出所有的目录,包括隐藏目录
-l 竖向排列 并显示更多信息
-h 以易于阅读的形式列出目录,需要搭配-l使用
例:
	ls -al /usr   表示列出/usr目录下的文件信息
	ls -lh /usr   展示信息更全

cd / pwd 命令

cd [Linux路径] 切换当前工作目录
注:不使用参数,会切换到当前用户的HOME目录

pwd 输出当前所在的工作目录
例:
	cd /usr  切换到usr目录下

特殊路径符:

  • . 表示当前路目录
  • … 表示航以及目录
  • ~ 表示用户的HOME目录

mkdir 命令

mkdir [-p] Linux路径
-p 可选选项,表示自动创建不存在的父目录
例:
	mkdir -p /usr/test/index.test  自动创建多层级的文件,文件夹不存在也会被创建

注:创建文件夹要在HOME命令里,不然会涉及到权限问题

touch / cat / more 命令

touch Linux路径	在指定位置创建文件
cat Linux路径		查看自定位置文件内容
more Linux路径	可以翻页查看文件内容	按空格翻页,按q退出
例:
	touch test.txt	在当前名录下创建test.txt文件
	cat test.txt	查看test.txt文件内容

cp / mv / rm 命令

cp [-r] 参数1 参数2
-r 可选,用于操作文件夹使用
参数1:被复制的文件或文件夹 
参数2:要复制到的位置
例:
	cp test.txt ./test2.txt	复制文件eest.txt到指定位置
	cp -r usr user	复制文件夹
	
mv 参数1 参数2
参数1:被移动的文件或文件夹 
参数2:要移动到的位置
例:
	mv test.txt test2.txt	相当于修改文件名称     【Imp】
	mv usr local/	将usr文件夹移动到当前目录local文件夹下		【Imp】
	
rm [-r -f] 参数1 参数2...参数N
-r 用于操作文件夹
-f 强制删除(不会弹出提示确认框)
参数:表示要删除的文件或文件夹名称,按空格隔开
例:
	rm -r test 删除文件/文件夹

注:删除操作属于危险操作,谨慎使用!

which / find 命令

which 要查找的命令	查找命令所在的文件夹
例:
	which cd  / which mkdir		查找各个命令所在位置
	
find 起始路径 -name "被查找的文件名"	  按名称查找指定位置下的文件
find 起始路径 -size + | -n [k M G]	    按文件大小查找
+、-:表示大于小于
n:表示大小数字
kMG:表示单位,kb、MB、GB
例:
	find / -name "*test" 查询以test结尾的文件
	find / -size -10M	 查询小于10MB的文件

grep / wc 命令

grep [-n] 关键字 文件路径  	通过关键字过滤文件行
-n 可选,表示在结果中显示行号
例:
	grep -n "helloWorld" test.txt	在test.txt文件中筛选helloWorld文字所在的行,并显示行号
	
wc [-c -m -l -w] 文件路径	统计文件信息
-c bytes数量
-m 字符数量
-l 行数
-w 单词数量

管道符 【Imp】

符号为:|
含义:将管道符左侧的结果作为右边的输入
例:
	cat test.txt | grep "helloWorld"
	cat test.txt | grep "helloWorld" | grep 'info'
	ls -l /usr | wc -l		统计目标文件夹下的文件个数

echo 命令

echo 要输出的内容
类似于Java的print语句

反引号 ``

被``包围的内容将作为命令执行
例:
	echo `pwd`	执行pwd命令

重定向符

>>左侧的结果 覆盖 到右侧文件中
>>>>左侧的结果 追加 到右侧文件中
例:
	echo "helloWorld" > test.txt	覆盖test.txt文件内容
	echo "helloWorld" >> test.txt	追加test.txt文件内容

tail 命令

tail [-f -num] Linux路径
-f 表示持续跟踪
-num 表示查看尾部多少行内容
Linux路径 表示追踪的文件路径
例:
	tail -10 test.txt	查看末尾10行内容

Vi / Vim 命令 【Imp】

文本编辑器

Linux从入门到入土_第1张图片

Linux从入门到入土_第2张图片

Linux从入门到入土_第3张图片

中级篇

su / exit 命令

su [-] [用户名]	用于用户切换
- 可选,表示切换用户后加载环境变量,建议加上
切换用户后可通过 exit 命令退回到上一个用户(ctrl + D也可以)

sudo 命令

sudo 其他命令		临时以root身份执行命令
并不是所有用户都有权使用,需要配置 sudo认证,配置方法:
1.切换到root用户,执行 visudo命令,会自动通过vi编辑器打开:/etc/sudoers
2.在文件末尾添加信息:
	[用户名] ALL=(ALL)		NOPADDWD:ALL
3.:wq保存,切换回普通用户

用户组管理

用户组操作:
groupadd 用户组名		创建用户组
groupdel 用户组名		删除用户组

添加用户:
useradd 用户名 [-g -d]
-g 指定用户的组,不使用-g会默认创建同名的组并加入,若已存在同名的组,则必须指定-g
-d 指定用户HOME路径,不指定-d,HOME目录默认为:/HOME/用户名
例:
	useradd test -g cleverguy -d /home/testuser		创建名为cleverguy的组,并添加HOME目录为/home/testuser的用户

删除用户:
userdel 用户名 [-r]
-r 删除用户的同时删除HOME目录
例:
	userdel -r test		删除test用户并删除HOME目录

查看用户所属组:
id [用户名]	不填用户名默认查看自己
例:
	id test		查看test用户所属组信息

修改用户所属组:
usermod [-aG] 用户组 用户名	将指定用户加入到指定组中
例:
	usermod -aG cleverguy test1		将test1用户加入到clecerguy组中

getent命令:

getent passwd	查看系统用户信息
输出的信息:
	用户名:密码(x):用户ID:组ID:描述信息(没用)HOME目录:执行终端(默认bash)
getent group		查看系统全部组的信息

需求(用户加入docker组):

linux系统中admin用户使用docker时需要输入sudo命令,可以通过将用户加入到docker组中即可解决。实现步骤:

1.添加docker组,一般都是存在的
	groupadd docker
2.将用户加入到docker用户组中
	sudo gpasswd -a $USER docker
3.更新用户组
	newgrp docker

使用上方usermod方法失败,原因未知。

chmod 命令

注:只有文件、文件夹所属用户或root用户才能修改其权限

chmod [-R] 权限 文件或文件夹	修改文件或文件夹权限
-R 对文件夹内的所有内容应用同样的操作
例:
	chmod u=rwx,g=rx,o=x hello.txt
	u 表示user所属用户的权限
	g 表示所属用户组的权限
	o 表示其他用户的权限
	
	chmod -R u=rwx,g=rx,o=x test	将test文件夹及里面所有内容的权限设置为rwxr-x--x

chown命令

注:此命令只能由 root 用户使用

chown [-R] [用户] [:] [用户组] 文件或文件夹 		修改文件所属用户或用户组权限
-R 对文件夹内内容应用相同规则
: 用户分隔用户和用户组
例:
	chown root hello.txt	将文件所属 用户 修改为root
	chown :root hello.txt	 将文件所属 用户组 修改为root
	chown root:cleverguy hello.txt		将文件所属用户和用户组修改为root和cleverguy
	chown -R root test	将test文件夹内的所有内容所属用户修改为root

快捷键

Ctrl + a		 移动到命令开头
ctrl + e		 移动到命令结尾
ctrl + 左键		向左跳一个单词
ctrl + 右键		向右跳一个单词
ctrl + l 或 clear		清屏

高级篇

yum 命令

yum [-y] [install | remove | search] 软件名称		安装软件
-y 自动确认,无需手动确认安装

systemctl命令

systemctl start | stop | status | enable | disable 服务名
enable	开启开机自启
disable 关闭开启自启
系统内置服务名:
	Networkmanager	主网络服务
	network		副网络服务
	firewalld	 防火墙服务
	sshd	ssh服务

ps 命令

ps [-e -f]		查看Linux系统的进程信息
-e 显示全部进程
-f 展示全部信息
输出信息:
	UID	PID	PPID C STIME TTY TIME CMD
	UID:进程所属用户ID
	PID:进程号(唯一)
	PPID:进程的父ID(启动此进程的其他进程)
	C:CPU占用率
	STIME:进程的启动时间
	TTY:启动此教程的终端序号,显示?表示非终端启动
	TIME:进程占用CPU的时间
	CMD:进程对应名称或启动路径或启动命令

Java 堆栈跟踪工具 jsp

jstack jvm 自带堆栈跟踪工具

查看堆栈运行情况:
1.jps -l	类似Linux的 ps -ef
2.jstack [pid]

kill 命令

kill [-9] 进程ID		关闭进程
-9 表示强制关闭

ln 命令

ln [-s] 参数1 参数2		将文件或文件夹链接到其他位置(类似于创建快捷方式)
-s 创建软链接
参数1 被链接的文件或文件夹
参数2 要链接到的位置
例:
	

tar 命令

  • .tar 称为tarball,归档文件,仅仅对文件进行简单封装
  • .gz 常见为.tar.gz,gzip格式压缩文件,可以极大减少压缩后的体积
tar [-c -v -x -f -z -C] 参数1 参数2...参数N		压缩/解压文件
-c 创建压缩文件
-v 显示压缩过程
-x 解压模式
-f 要创建或解压的文件
-z gzip模式,不使用默认为tarball格式
-C 选择解压的位置,用于解压模式
例:
	压缩:
	tar -cvf test.tar 1.txt 2.txt 3.txt		将三个文件压缩到test.tar文件内
	tar -zcvf test.tar.gz 1.txt 2.txt 3.txt		使用gzip模式,将三个文件压缩到test.tar.gz文件内
	解压:
	tar -xvf test.tar	解压test.tar到当前目录
	tar -zxvf test.tar.gz -C /home/cleverguy	使用gzip模式将test.tar.gz解压到/home/cleverguy路径下

注:

  • -f一般放在所有选项的最后一个
  • -z使用时必须放在第一个
  • -c和-x不能一起使用(一个压缩一个解压)

zip / unzip 命令

zip [-r] 参数...		压缩
-r 压缩内容包含文件夹时,强制压缩
例:
	zip -r 1.txt 2.txt test		将文件和文件夹压缩

unzip [-d] 参数...	解压缩
-d 指定解压的位置,同tar的-C选项
例:
	unzip test.zip -d /home/cleverguy		将test.zip解压到/home/cleverguy路径下
解压test.tar到当前目录
tar -zxvf test.tar.gz -C /home/cleverguy	使用gzip模式将test.tar.gz解压到/home/cleverguy路径下

注:

- -f一般放在所有选项的最后一个
- -z使用时必须放在第一个
- -c和-x不能一起使用(一个压缩一个解压)

### zip / unzip 命令

~~~shell
zip [-r] 参数...		压缩
-r 压缩内容包含文件夹时,强制压缩
例:
	zip -r 1.txt 2.txt test		将文件和文件夹压缩

unzip [-d] 参数...	解压缩
-d 指定解压的位置,同tar的-C选项
例:
	unzip test.zip -d /home/cleverguy		将test.zip解压到/home/cleverguy路径下

你可能感兴趣的:(linux,服务器)