主要当成个人笔记来使用的,当然能帮助到大家更好, 我们一起努力吧!
安装WSL及Ubuntu
B站视频介绍了怎么利用windows系统配置wsl从而实现不需要安装虚拟机安装ubuntu。WIN10配置WSL(Ubuntu)
主要操作命令
Linux中本体就是一个个的二进制可执行程序,和windows系统中的.exe文件是一个意思。
/ 根目录
ctrl+l 清空当前目录
home目录 是每一个用户在Linux系统的专属目录,默认在:/home/用户名
ls [-a -l -h] 当前工作目录下的内容(默认在home目录下的文件)。
-a:可以展示隐藏的内容。
-l:列表形式展示内容,并展示更多细节。
-h:须和-l搭配使用,以更加人性化的方式显示出文件的大小单位。
命令选项可以搭配使用,如:ls -lah。
cd [linux路径] 去到想要的路径,当没有参数时默认回到home目录。
pwd 查看当前工作目录。
特殊路径符
. 当前目录
.. 上一级目录,如:cd.. 可以切换到上一级目录,cd../..切换到上两级的目录
~ home目录,如:cd~ 可以切换到home目录或cd~/bin 切换到home内的bin目录
mkdir [-p] Linux路径 创建新的目录(文件夹)。 -p表示自动创建不存在的父目录,适用于创建连续多层级的目录。
touch Linux路径 创建文件。
cat Linux路径 查看文件内容。
more Linux路径 查看文件内容(和cat不同的是more可以支持翻页查看,通过空格翻页,q退出查看)。
cp -r 参数1 参数2 复制文件或文件夹。参数1代表被复制的,参数2表示要复制的。-r只有复制文件夹时使用。
mv 参数1 参数2 移动文件或文件夹。参数1被移动的,参数2要移动的。
rm [-r -f] 参数1 参数2 、、、参数n 删除文件或文件夹。
-r用于删除文件夹。
-f表示force,强制删除(需要通过su - root,并输入密码,临时切换到root体验,通过exit命令退回普通用户)。
参数,表示要删除的文件或文件夹路径,按空格隔开。
rm支持 通配符*,用来做模糊匹配。例如:test*,表示匹配任何以test开头的内容。*test,表示以test结尾的内容。*test*,匹配任何包含test的内容。(注意rm -rf / 或者re -rf /* 等同于在windows上对c盘进行格式化,要注意)
which 要查找的命令 查看所使用的一系列命令的程序文件存放在哪里。如:which cd
find 起始路径 -name “被查找文件名” 按文件名查找文件。-name表示是按照文件名查找的。
find 起始路径 -size +或-n[kMG] 按照文件大小查找文件。
+ - 表示大于和小于。
n表示大小数字。
k(小写)代表kb,M代表MG,G代表GB。
如:找小于10kb的文件,find / -size -10k
grep [-n] 关键字 文件路径 从文件中通过关键字过滤文件行。
-n,可选,表示在结果中显示匹配的行的行号。
关键字,必填,表示过滤的关键字,如果带有空格或者其它字符,建议使用“ ”将关键字包围起来。
文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口。
wc [-c -m -l -w] 文件路径 统计文件的行数、单词数量等。
-c ,统计bytes数量
-m, 统计字符数量
-l, 统计行数
-w ,统计单词数量
文件路径,被统计的文件,可作为内容输入端口
管道符 ”|“ 将管道符左边命令的结果,作为右边命令的输入。
例如:test.txt中有”linux is a good one
i like liux
and linux love me“
~$ grep ”linux“ test.txt | wc -l :的输出为3,将grep ”linux“ test.txt的结果作为wc -l的输入。
echo 输出的内容 在命令行中输出指定的内容,内容通常 ” “ 起来。相当于print()。
注意:如果是”“,则”“中的内容会作为字符串输出。但是 ``(反引号),可以将``其中的内容作为命令执行。
如:echo `pwd`。会执行pwd指令。
重定向符
> , 将左侧的命令的结果,覆盖写入到符号右侧指定的文件中
>>,将将左侧的命令的结果,追加写入到符号右侧指定的文件中
如:echo "hello linux"> test.txt:那么test.txt中就只有hello linux了
echo "i like linux" >> test.txt:那么test.txt中就有hello linux 和 i like linux两行语句了。
tail [-f -num] linux路径 查看文件尾部内容,跟踪文件的最新更改。
-f 表示持续追踪(停下来按ctrl+c)。-num(一个数)表示查看尾部多少行,不填写默认10行。
head [-n] 参数
查看文件头部内容
参数:被查看的文件
选项:-n,查看的行数
vim编辑器
可以通过:命令 --help
查看命令的帮助手册
vi或者vim 文件路径 vi/vim编辑器。
其中vim兼容vi的全部功能,主要用vim。
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。如果文件路径表示的文件存在,那么此命令用于编辑已有文件。
vi/vim编辑器的三种工作模式 :
命令模式(Command mode)命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。此模型下,不能自由进行文本编辑。
输入模式(Insert mode)也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
底线命令模式(Last line mode)以:开始,通常用于文件的保存、退出。
命令模式和底线命令模式
用户管理操作命令
root用户 (超级管理员):root用户具有最大的系统操作权限。普通用户权限一般是在home中目录中不受限,出了home往往受限。(不建议长期使用root用户,避免带来系统损坏)
su [-] [用户名] 切换用户。
-符号是可选的,表示是否在切换用户后加载环境变量,建议带上。
用户名,省略表示切换到root
切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键ctrl+d。
注:普通用户切换到root是需要密码的。
sudo 其他命令 在其他命令之前带上sudo,即可为这一条命令临时赋予root授权。但不是所有的用户都有权使用sudo,我们需要为普通用户配置sudo认证。
为普通用户配置sudo认证 切换到root用户,执行visudo命令。在文件的最后添加:用户名 ALL=(ALL) ”缩进“ NOPASSWD:ALL(ubutun设置方法为:在root中输入vim /etc/sudoers。然后在文件最后添加上述命令。此处要结合命令模式来进行输入等操作)。最后通过wq保存退出。
用户组管理
groupadd 用户组名 创建用户组
groupdel 用户组名 删除用户组(创建和删除均需root用户执行)
用户管理
useradd [-g -d] 用户名 创建用户。
-g,指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要租已经存在,如 已存在同名组,必须使用-g
-d,指定用户home路径,不确定,home目录默认在:/home/用户名
userdel [-r] 用户名 删除用户。
-r,删除用户的home目录,不使用-r,删除用户时,home目录保留
id [用户名] 查看用户所属组。
用户名默认自身。
usermod -aG 用户组 用户名 修改用户所属组。
用户名将指定用户加入指定用户组。
getent passwd 查看当前系统中有哪些用户,以及用户信息。
getent group 查看系统中有哪些用户组,以及组信息。
比如查看的用户信息。liukai:x(密码,不展示):用户ID:组ID:描述信息(无用):home目录:执行终端(默认bash)。