linux的基础命令
linux命令的基本形式:command 【-options】【parameter】
command:命令
command:参数(可选,非必填)
options:选项(可选,非必填)
Ls:以平铺的形式列出当前目录下的所有内容。
ls 【-a,-l,-h】【parameter】(可选,非必填)。
-a:表示all,即列出全部文件(包含隐藏的文件/文件夹)。
-l:以列表(竖向排列)的形式展示内容,并展示更多信息(权限,所属用户和用户组,大小,时间)。
-h:以易于阅读的形式列出文件大小(要和-l搭配使用)。
pwd:查看当前的工作目录。(print work directory,没有选项和参数直接使用)。
cd:切换工作目录(change directory)。
cd 【linux路径】(只有参数没有选项,不写参数代表回到home目录)。
mkdir:创建新的目录(mark directory)。
mkdir 【-p】【parameter】(参数必填,表示linux的路径)。
-p:自动创建不存在的父目录,适用于创建连续多层级的目录。
touch:创建文件。
touch 【parameter】(参数必填,表示linux的路径)。
cat:查看文件内容。
cat 【parameter】(参数必填,表示要查看的文件路径)。
more:查看文件内容。
more 【parameter】(参数必填,表示要查看的文件路径)。
补充:
- cat是直接将内容全部显示出来。
- more支持分页,如果文件内容过多可以一页页的展示。
- 通过可以退出查看。使用空格键可以翻页。
cp:复制文件/文件夹(copy)。
cp 【-r】【parameter1】【parameter2】(参数1表示被复制的文件/文件夹,参数2表示要复制去的地方)。
-r:可选,用于复制文件夹使用表示递归。
mv:移动文件/文件夹(move)。
mv 【parameter1】【parameter2】(参数1表示被移动的文件/文件夹,参数2表示要移动去的地方)。
补充:如果要移动去的地方不存在则对被移动的文件/文件夹改名。
rm:删除文件/文件夹(remove)。
rm 【-r,-f】【parameter1,parameter2,parameter3......parameterN】(参数1,2,3......N表示要删除的文件/文件夹路径,用空格隔开)。
-r:用于删除文件夹。
-f:表示force,强制删除(不会弹出提示确认信息)。
补充:
- rm命令支持通配符*用来做模糊匹配。
- test*匹配任何以test开头的内容。
- *test匹配任何以test结尾的内容。
- *test*匹配任何包含test的内容。
- rm是一个危险的命令特别是在root(超级管理员)用户的时候,请谨慎使用。
- rm -f/或rm -f/*在root下相当于windows上执行C盘格式化。
which:查看命令的程序文件所在位置。
which 【parameter】 (参数表示要查找的命令)。
find:查找指定文件。
find 【parameter】 -name "被查找文件名"(按文件名查找,参数表示起始路径)。
find 【parameter】 -size +/- n kMG(按文件大小查找,参数表示起始路径,+,-表示大于或小于,n表示数字,kMG表示单位)。
补充:
- find命令支持通配符*用来做模糊查找。
- test*匹配任何以test开头的内容。
- *test匹配任何以test结尾的内容。
- *test*匹配任何包含test的内容。
- k(小写)表示kb,M表示MB,G表示GB。
grep:通过关键字过滤文件行。
grep 【-n】 【parameter1】【parameter2】(参数1表示关键字必填,参数2表示文件路径必填)。
-n:可选表示在结果种显示匹配的行的行号。
补充:
- 过滤的关键字带有空格或其他特殊符号时,建议使用""将关键字包围起来。
- 过滤的文件路径可作为内容输入端口。
wc:数量统计 (文件的行数,单词数量等)。
wc 【-c,-m,-l,-w】 【parameter】(参数表示文件路径)。
-c:统计bytes数量。
-m:统计字符数量。
-l:统计行数。
-w:统计单词数量。
补充:参数文件路径可作为内容输入端口。
echo:在命令行内指定输出内容。
echo 【parameter】(要输出的内容,复杂内容可用“”包围)。
tail:查看文件的尾部内容,跟踪文件的最新更改。
tail 【-f,-num】 【parameter】(表示被跟踪的文件路径)。
-f:持续跟踪。
-num:查看尾部多少行,不填默认10行。
su:账户切换(switch user)。
su 【-】【parameter】(用户名)。
-:是否在切换用户后加载环境变量(建议带上)。
补充:
- 切换用户后可以通过exit返回上一个用户,也可以通过快捷键ctrl+d。
- 使用普通用户切换到其他用户时需要输入密码。
- 使用root用户切换到其他用户时不需要输入密码。
sudo:为普通的命令授权,临时以root身份执行。
sudo 【parameter】(其他命令)。
补充:并不是所有用户都可以使用sudo,需要为普通用户配置sudo认证。
用户组管理:
- 创建用户组:groupadd 【parameter】(用户组名)。
- 删除用户组:groupdel 【parameter】(用户组名)。
用户管理:
创建用户:useradd 【-g,-d】【parameter】(用户名)。
-g:指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g。
-d:指定用户H0ME路径,不指定,H0ME目录默认在:/home/用户名。
删除用户:userdel 【-r】【parameter】(用户名)。
-r:删除用户的home目录,不使用-r删除用户时home目录保留。
查看用户所属组:id 【parameter】(用户名)。
修改用户所属组:usermode -aG 【parameter】【parameter】(用户组,用户名,将指定用户加入指定用户组)。
getent:查看当前系统中有哪些用户/用户组。
getent password/group
补充:
- 用户:用户名,密码(x),用户ID,组ID,描述信息(无用),HOME目录,执行终端(默认bash)。
- 用户组:组名称,组认证(显示为x),组id。
chmod:修改文件,文件夹的权限信息。
chomd 【-R】 权限 文件/文件夹。
-R:对文件夹内的全部内容应用此操作。
补充:只有文件/文件夹的所属用户或root用户可以修改。
chown:修改文件/文件夹的所属用户和用户组。
chown 【-R】 用户:用户组 文件/文件夹
-R:对文件夹内的全部内容应用此操作。
补充:普通用户无法修改所属为其他用户或组,只有root用户可以修改。
history:查看历史输入过的命令。
可以通过ctrl+r输入内容去匹配历史命令(回车键可以直接执行,键盘左右键可以得到此命令)。
yum:RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。
yum 【-y】 【install | remove l search 】 软件名称。
-y:自动确认,无需手动确认安装或卸载过程。
install:安装。
remove:卸载。
search:搜索。
补充:yum命令需要root权限,命令需要联网。
systemctl:管理系统软件(内置或第三方)的命令。
systemctl start | stop | status l enable l disable 服务名。
start:启动。
stop:关闭。
status:查看状态。
enable:开启开机自启。
disable:关闭开机自启。
In:在系统中创建软链接,可以将文件、文件夹链接到其它位置。
ln 【-s】 【parameter1】 【parameter2】(被链接的文件或文件夹,要链接去的目的地)。
-s:创建软连接。
data:查看系统时间。
data 【-d】 【+格式化字符串】。
data 【-d】 【”加减数字 x“】【+格式化字符串】。
-d:按照给定的字符串显示日期,一般用于日期计算。
x:year年,Month月,day天,hour小时,Minute分钟,second秒。
补充:通过特定的字符串标记,来控制显示的日期格式。
- %Y:年。
- %y:年份后两位数字 。
- %m:月份。
- %d:日。
- %H:小时。
- %M:分钟。
- %S:秒。
- %s:自1970-01-01 00:00:00UTC到现在的秒数。
ping:指定的网络服务器是否是可联通状态。
ping 【-c num】 ip或主机名。
-c:检查的次数,不使用-c选项,将无限次数持续检查参数。
wget:非交互式的文件下载,可以在命令行内下载网络文件。
wget 【-b】 url(下载链接)。
-b:可选,后台下载,会将日志写入到当前工作目录的wget-log文件。
curl:发送http网络请求,可用于:下载文件、获取信息等。
curl 【-o】url(要发起请求的网络地址)。
-o:用于下载文件,当url是下载链接时,可以使用此选项保存文件。
ps:查看进程。
ps 【-e,-f】。
-e:显示出全部的进程。
-f:以完全格式化的形式展示信息(展示全部信息)。
补充:从左到右分别是
- UID:进程所属的用户ID。
- PID:进程的进程号口。
- PPID:进程的父ID(启动此进程的其它进程)。
- C:此进程的CPU占用率(百分比)。
- STIME:进程的启动时间。
- TTY:启动此进程的终端序号。
- TIME:进程占用CPU的时间。
- CMD:进程对应的名称或启动路径或启动命令。
kill:关闭进程。
kill 【-9】【parameter】(进程id)。
-9:强制关闭进程。
tar:压缩,解压缩。
tar【-c,-v,-x,-f,-z,-C】 参数1, 参数2,..,...,参致N。
-c:创建压缩文件,用于压缩模式。
-v:显示压缩、解压过程,用于查看进度。
-x:解压模式。
-f:要创建的文件,或要解压的文件。
-z:gzip模式,不使用-z就是普通的tarball格式。
-C:选择解压的目的地,用于解压模式。
补充:
- -f选项,必须在选项组合体的最后一位。
- -z选项,建议在开头位置。
- -C选项单独使用,和解压所需的其它参数分开。
zip:压缩文件。
zip 【-r,-q,-d,-u,-f,-m,-e,-z】 参数1, 参数2,..,...,参致N。
-r:递归地将一个目录及其所有子目录和文件压缩到ZIP文件中。
-q:在压缩文件时启用静默模式,即不显示压缩过程的详细信息。
-d:从现有的ZIP文件中删除指定的文件或目录。
-u:用于更新现有的ZIP文件,将新的文件或修改后的文件添加到ZIP存档中。
-f:用于刷新(更新)现有ZIP文件中的指定文件。
-m:用于移动(归档)文件到一个ZIP压缩文件中,并在移动后将源文件删除。
-e:用于对ZIP压缩文件进行加密。
-z:为压缩文件添加注释。
补充:
-f
:只更新已存在于ZIP文件中的文件,不会添加新文件。-u
:可以添加新文件并更新已存在的文件。
unzip:解压文件。
unzip 【-d】 被解压的zip压缩包文件。
-d:指定要去解压的位置。
-c:将解压缩的结果。
-l:显示压缩文件内所包含的文件。
-p:将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t:检查压缩文件是否正确。
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。
-v:执行是时显示详细的信息。
-z:仅显示压缩文件的备注文字。
-a:对文本文件进行必要的字符转换。
-b:不要对文本文件进行字符转换。
-C:压缩文件中的文件名称区分大小写。
-j:不处理压缩文件中原有的目录路径。
-L:将压缩文件中的全部文件名改为小写。
-M:将输出结果送到more程序处理。
-n:解压缩时不要覆盖原有的文件。
-o:不必先询问用户,unzip执行后覆盖原有文件。
-P:使用zip的密码选项。
-q:执行时不显示任何信息。
-s:将文件名中的空白字符转换为底线字符。
-V:保留VMS的文件版本信息。
-X:解压缩时同时回存文件原来的UID/GID。
linux基础
linux目录结构
linux的目录结构是一个树形结构,没有磁盘的概念,只有一个根目录/,所有文件都在她下面。
linux路径的描述方式
在linux系统中,路径之间的层级关系,使用:/来表示。
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头。
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头。
特殊路径符号:
- .表示当前目录。
- ..表示上一级目录。
- ~表示home目录。
管道符:|
将管道符左边命令的结果,作为右边命令的输入。
重定向符:>和>>
>:将左侧命令的结果,覆盖写入到符号右侧指定的文件中。
>>:将左侧命令的结果,追加写入到符号右侧指定的文件中。
vi/vim编辑器
vi/vim是visual interface的简称,是linux中最经典的文本编辑器。
vim是vi的加强版本,兼容vi的所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性。
编辑器的三种工作模式:
- 命令模式(command mode):命令模式下所敲得按键编辑器都理解为命令,以命令驱动执行不同的功能,此模式下不能自由进行文本编辑。
- 输入模式(insert mode):也就是所谓的编辑模式、插入模式。此模式下,可以对文件内容进行自由编辑。
- 底线模式(last line mode ):以开始,通常用于文件的保存、退出。
命令模式:
通过vi/vim编辑器编辑文件。
vi/vim 文件路径。
如果文件路径表示的文件不存在,那么此命令会用于编辑新文件。
如果文件路径表示的文件存在,那么此命令用于编辑已有文件。
快捷键:
模式 | 命令 | 描述 |
命令模式 | i | 在当前光标位置进入输入模式 |
命令模式 | a | 在当前光标位置之后进入输入模式 |
命令模式 | I | 在当前行的开头进入输入模式 |
命令模式 | A | 在当前行的结尾进入输入模式 |
命令模式 | o | 在当前光标下一行进入输入模式 |
命令模式 | O | 在当前光标上一行进入输入模式 |
命令模式 | esc | 任何情况下输入都能回到命令模式 |
命令模式 | 键盘上,键盘k | 向上移动光标 |
命令模式 | 键盘下,键盘j | 向下移动光标 |
命令模式 | 键盘左,键盘h | 向左移动光标 |
命令模式 | 键盘右,键盘l | 向右移动光标 |
命令模式 | 0 | 移动光标到当前行的开头 |
命令模式 | $ | 移动光标到当前行的结尾 |
命令模式 | pageup(PgUp) | 向上翻页 |
命令模式 | pangedown(PgDn) | 向下翻页 |
命令模式 | / | 进入搜索模式 |
命令模式 | n | 向下继续搜索 |
命令模式 | N | 向上继续搜索 |
命令模式 | dd | 删除光标所在行的内容 |
命令模式 | ndd | n是数字,表示删除当前光标向下n行 |
命令模式 | yy | 复制当前行 |
命令模式 | nyy | n是数字,表示复制当前行和下面的n行 |
命令模式 | p | 粘贴复制的内容 |
命令模式 | u | 撤销修改 |
命令模式 | ctrl+r | 反向撤销修改 |
命令模式 | gg | 跳到首行 |
命令模式 | G | 跳到尾行 |
命令模式 | dG | 从当前行开始向下全部删除 |
命令模式 | dgg | 从当前行开始向上全部删除 |
命令模式 | d$ | 从当前光标开始删除到本行的结尾 |
命令模式 | d0 | 从当前光标开始删除到本行的开头 |
底线命令模式:
在命令模式输入:即可进入底线命令模式。
底线命令模式 | :wq | 保存并退出 |
底线命令模式 | :q | 仅退出 |
底线命令模式 | :q! | 强制退出 |
底线命令模式 | :w | 仅保存 |
底线命令模式 | :set nu | 显示行号 |
底线命令模式 | :set paste | 设置粘贴模式 |
配置sudo认证:
在root用户模式下执行visudo命令,通过vi编辑器打开:/etc/sudoers文件,在最后添加
【普通用户名 ALL=(ALL) NOPASSWD:ALL 】最后wq保存。
NOPASSWD:ALL表示使用sudo命令,无需输入密码。
权限信息:
权限细节总共分为10个槽位
-:如果在开头则表示文件,其他位置则表示没有这个权限。
d:表示文件夹。
l:表示链接。
r:表示读权限 记为4。
w:表示写权限 记位2。
x:表示执行权限 记位1。
权限的数字序号:权限可以用三位数字来表是第一位数字表示用户权限,第二位表示用户组权限,第三位表示其他用户。
0 | 无任何权限 | --- |
1 | 仅有x权限 | --x |
2 | 仅有w权限 | -w- |
3 | 有w和x权限 | -wx |
4 | 仅有r权限 | r-- |
5 | 有r和x权限 | r-x |
6 | 有r和w权限 | rw- |
7 | 有全部权限 | rwx |
光标移动的快捷方式:
ctrl+a | 跳到命令开头 |
ctrl+e | 跳到命令结尾 |
ctrl+键盘左键 | 向左跳一个单词 |
ctrl+键盘右键 | 向右跳一个单词 |
修改linux时区:
在root模式下通过命令rm -f /etc/localtime 和
sudo ln -s/usr/share/zoneinfo/Asia/Shanghai/etc/localtime
通过ntp程序自动校准系统时间
安装ntp:yum -y install ntp
设置开机自启:systemctl start ntpd systemctl enable ntpd
修改主机名:
查看主机名:hostname
修改主机名(root下):hostnamectl set-hostname 主机名
$符:
在linux系统中$符被用来取“变量”的值。例如:echo $PATH就是取到环境变量的值,并输入出来。
持续学习中。。。。。。
标签:文件,基础,用户,模式,命令,文件夹,Linux,parameter From: https://blog.csdn.net/qq_47036925/article/details/136401851