Linux笔记
主要服务于服务器
基础指令
基础格式:
command [-options][parameter]
-options:命令的一些选项,可以通过选项控制命令的行为细节
parameter:命令的参数,多数用于命令的指向目标等
eg:
ls -l /home/itheima, ls是命令本身,-l 是选项,/home/itheima是参数
意思是以列表的形式,显示/home/ ithe ima目录内的内容
cp-r test1 test2 , cp是命令本身, -r是选项, test1和test2是参数
意思是复制文件夹test1成为test2
ls命令
列出目录内容
ls [-a -l -h][Linux路径]
home目录&工作目录 ( / 根目录)
- 以.开头的,表示是Linux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏)只有通过-a选项,才能看到这些隐藏的文件/文件夹
- -l选项,表示:以列表( 竖向排列)的形式展示内容,并展示更多信息
- -h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位
ls -l -a/-la/-al
cd/pwd
change directory
cd [Linux路径]
[Linux路径] : ~ / mods / '/'根目录
print work directory
pwd //当前工作目录
相对路径绝对路径和特殊路径符
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头
相对路径:以当前目录为起点,描述路径的一种写法,路径描述 无需以/开头
cd [相对/绝对/特殊路径符]
返回上一级:
可以直接通过cd,即可回到HOME目录
也可以通过特殊路径符来完成。
- . : 表示当先目录
- … : 表示上一级目录 …/… 上一级的上一级
- ~ : home目录
mkdir
make directory创建新的目录(文件夹)
mkdir [-p] Linux路径
- 参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可
- -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录.
注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作涉及到权限问题, HOME外无法成功。
Ctrl+L清屏
touch
touch:创建文件
touch [Linux路径]
表示文件路径,必填
ls -l查看的开头
d~:文件夹
-:文件
cat
cat: 查看内容
cat [Linux路径]
more
查看文件
more [Linux路径]
支持翻页 而cat是之间显示所有内容
按空格键 翻页 Q 退出 B 上一页
cp
cp:用于复制文件\文件夹 (copy)
cp [-r] 参数1 参数2
- -r选项,可选,用于复制文件夹使用,表示递归
- 参数1,Linux路径,表示被复制的文件或文件夹
- 参数2,Linux路径,表示要复制去的地方
mv
mv:用于移动文件\文件夹 (move)
mv 参数1 参数2
- 参数1,Linux路径,表示被移动的文件或文件夹
- 参数2,Linux路径,表示要移动去的地方 (可以用于改名)
rm
rm:用于删除文件\文件夹 (remove)
rm [-r -f]参数1 参数2 ... ...参数N
-
-r 选项,可选,用于复制文件夹使用
-
-f 表示force,强制删除( 不会弹出提示确认信息)
- 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
- 所以一般普通用户用不到-f选项
-
参数1、参数2、… 参数N表示要删除的文件或文件夹路径,按照空格隔开
rm支持通配符 * ,用于模糊匹配
-
符号*表示通配符,即匹配任意内容(包含空),示例:
-
test*,表示匹配任何以test开头的内容
-
*test,表示匹配任何以test结尾的内容
-
test,表示匹配任何包含test的内容
grep
grep: 从文件中通过关键字过滤文件行
grep [-n] 关键字 文件路径
- 选项-n,可选,表示在结果中显示匹配的行的行号。
- 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用 ” ” 将关键字包围起来。
- 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口。(管道符)
wc
wc:可以通过wc命令统计文件的行数、单词数量等
wc [-c -m -l -w] 文件路径
-
-c,统计bytes数量
-
-m,统计字符数量
-
-l,统计行数
-
-w,统计单词数量
-
文件路径,被统计的文件,可作为内容输入端口
管道符: |
管道符的含义是:将管道符左边命令的结果,作为右边命令的输入
( 左->右 )
which
which: 查看所使用的–系列命令的程序文件存放在哪里
which 要查找的命令
which cd
which pwd
find
find: 搜索指定的文件
find 起始路径 -name “被查找文件名”
find 起始路径 -size +|n[KMG]
eg. find / -size -10k
可能需要管理员用户 su
可以 + 通配符 “ * ”
-
查找小于10KB的文件: find / -size -10k
-
查找大于100MB的文件: find / -size +100M
-
查找大于1GB的文件: find / -size +1G
-
+、-表示大于和小于
-
n表示大小数字
-
kMG表示大小单位, k(小写字母)表示kb, M表示MB,G表示GB
echo
echo: 可以使用echo命令在命令行内输出指定内容
echo 输出的内容
- 可以加 " "
- 无需选项,只有一一个参数,表示要输出的内容,复杂内容可以用”"包围
反引号 " `" ( 飘号)
被包围的内容被执行 eg.
echo `pwd`
重定向符 > >>
- ‘>’ , 将左侧命令的结果,覆盖写入到符号右侧指定的文件中
- ‘>>’ , 将左侧命令的结果,追加写入到符号右侧指定的文件中,自动换行
tail
tail: 可以查看文件尾部内容,跟踪文件的最新更改。
tail [-f -num] Linux路径
- 参数,Linux路径,表示被跟踪的文件路径
- 选项,-f,表示持续跟踪
- 选项, -num,表示,查看尾部多少行,不填默认10行
2
vi / vim
文本编辑器
vim 文件路径
三个模式互相切换,以命令模式中转
-
命令->输入 i -> insert 输入
-
输入-> 命令 Esc退出
-
键盘快捷键
- yy 复制
- p 粘贴
- dd 删除行
- u 撤销
-
" : " -> 底线命令模式
-
wq w 保存 q退出
root用户(超级管理员)
- 普通用户无法在根目录下创建文件
- 普通用户,一般在自己的home下是不受限的
- 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限
su命令 Switch User
su [-] [用户名]
-
-符号是可选的,表示是否在切换用户后加载环境变量(后续讲解),建议带上
-
参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
-
切换用户后,可以通过exit命令退回,上一一个用户,也可以使用快捷键:ctrl+ d
-
使用普通用户,切换到其它用户需要输入密码,如切换到root用户
-
使用root用户切换到其它用户,无需密码,可以直接切换
sudo
不要长期使用root,避免系统损坏
sudo命令,为普通的命令授权,临时以root身份执行
sudo 其他命令
需要给普通用户添加认证(root用户配置)
visudo
wichai_pan ALL=(ALL) NOPASSWD:ALL
用户、用户组
root用户执行
创建用户组
groupadd 用户组名
删除用户组
groupdel 用户组名
创建用户
useradd[-g -d] 用户名
-g指定用户的组,不指定-g, 会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g .
-d指定用户HOME路径,不指定,HOME目录默认在: /home/用户名
删除用户
userdel [-r] 用户名
-r,删除用户的HOME目录,不使用-r,删除用户时,HOME 目录保留
查看用户所属组
id[用户名]
参数:用户名,被查看的用户,如果不提供则查看自身
修改用户所属组
username -aG 用户组 用户名
查看当前系统中有哪些用户
getent passwd
用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)
查看当前系统中有哪些组
getent group
包含3份信息,组名称:组认证(显示为x):组ID
查看权限控制信息
ls -l
- 列1,表示文件、文件夹的权限控制信息
- 列3,表示文件、文件夹所属用户
- 列4,表示文件、文件夹所属用户组
chmod命令
修改权限
eg. chmod 751 ···
chown命令
使用chown命令,可以修改文件、文件夹的所属用户和用户组
普通用户无法修改所属为其它用户或组,所以此命令只适用于root用户执行
chown [-R] [用户][:][用户组] 文件或文件夹
- 选项,-R,同chmod,对文件夹内全部内容应用相同规则
- 选项,用户,修改所属用户
- 选项,用户组,修改所属用户组
- :用于分隔用户和用户组
3
快捷键
ctrl+c
强制停止(命令输入错误,也可以通过快捷键ctrl+ C,退出当前输入,重新输入)
ctrl+d
可以通过快捷键: ctrl+d,退出账户的登录/退出某些特定程序的专属页面
ps:不能用于退出vi/vim
history命令
查看历史输入过的命令
history | grep [key word] //过滤关键字
! (历史命令)
!命令前缀,自动执行上一次匹配前缀的命令
eg:!py
(不要太远)
ctrl+r
输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么:
- 回车键可以直接执行
- 键盘左右键,可以得到此命令(不执行)
光标移动快捷键
- ctrl+ a,跳到命令开头
- ctrl+ e,跳到命令结尾.
- ctrl+键盘左键,向左跳一一个单词
- ctrl+键盘右键,向右跳一一个单词
清屏
- ctrl+ l
- clear指令
软件安装
yum命令(Centos)|apt(Ubuntu)
yum: RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
yum [-y][install | remove | search] 软件名称 //.rpm file
apt [-y][install | remove | search] 软件名称 //.deb file
-
选项:-y,自动确认,无需手动确认安装或卸载过程
-
install:安装
-
remove:卸载
-
search:搜索
-
yum命令需要root权限,可以su切换到root,或使用sudo提权。
-
yum命令需要联网
yum [-y] install wget,通过yum命令安装wget程序
yum [~y] remove wget,通过yum命令卸载wget命令
yum search wget,通过yum命令,搜索是否有wget安装包
systemctl命令
Linux系统很多软件(内置或第三方)均支持使systemctl命令控制:启动、停止、开机自启能够被systemctl管理的软件,一般也称之为: 服务
systemctl start | stop | status | enable | disable 服务名
- start启动
- stop关闭
- status查看状态
- enable开启开机自启
- disable关闭开机自启
系统内置的服务比较多,比如:
- NetworkManager,主网络服务
- network,副网络服务
- firewalld,防火墙服务
- sshd, ssh服务( FinalShell远程登录Linux使用的就是这个服务)
apt install systemctl
第三方软件,如果自动注册了可以被systemctl控制
ln 软链接
在系统中创建软链接,可以将文件、文件夹链接到其它位置。
类似Windows系统中的《快捷方式》
ln -s 参数1 参数2
- -s选项,创建软连接
- 参数1:被链接的文件或文件夹
- 参数2:要链接去的目的地
tips:python/python3指令进入(Linux自带)
su - root [password]切换超级管理员root用户(su 即可)