基础知识与命令

1. Linux目录结构

树形结构,没有盘符的概念
顶级目录只有一个(根目录)
image

2. Linux 命令入门

image

ls

ls [-a -l -h] [Linux路径]

-a:显示隐藏内容
-l: 以列表(竖向排列)展示内容,显示更多信息
-h:以易于阅读的形式(必须与l一起使用,会显示文件大小单位KB之类的)

例子:显示根目录隐藏文件和详情
ls -alh /

不给参数路径的话默认显示当前工作路径

cd

cd [Linux路径]

切换工作目录
无选项,只有参数时,表示要切换到哪个目录下
无选项,无参数时,表示回到HOME目录下

pwd

pwd

查看当前工作目录
无选项,无参数

特殊路径符

. 表示当前目录,如cd ./desktop与cd desktop效果相同
.. 表示上一级目录,如cd ..可切换到上一级目录
~ 表示HOME目录,cd ~可切换到HOME目录

mkdir 命令(创建文件夹)

mkdir [-p] Linux路径

- 参数必填
- -p 表示自动创建不存在的父目录

文件操作命令1(touch、cat、more)

touch Linux路径
- 作用:创建文件

cat Linux路径
- 作用:查看文件内容

more Linux路径
- 作用:查看文件内容(支持翻页)(空格翻页,q退出)

文件操作命令2(cp、mv、rm)

cp [-r] 参数1 参数2
- -r  可选,用于复制文件夹使用,表示递归
- 参数1,被复制的文件
- 参数2,复制去的地方

mv 参数1 参数2
- 被移动的文件或文件夹
- 移动去的地方路径

rm [-r -f] 参数1 参数2 ..... 参数N
- -r 用于删除文件夹
- -f 表示force,强制删除(不会弹出提示确认信息)
-     普通用户删除内容不会弹出提示,只有root管理员用户删除内容会有提示
-     所以一般普通用户用不到-f选项
- 参数1 参数2 ..... 参数N 表示要删除的文件或文件夹路径,空格隔开

rm命令支持通配符*,用来做模糊匹配
- test*
- *test
- *test*

grep-wc-管道符

grep [-n] 关键字 文件路径
- 作用:从文件中通过关键字过滤文件行


wc [-c -m -l -w] 文件路径
- 作用:统计文件的行数、单词数量
- -c  统计bytes数量
- -m  统计字符数量
- -l  统计行数
- -w  统计单词数量
- 文件路径  被统计的文件,可作为内容输入端口

管道符 |
- 作用:将管道符左边命令的结果作为右边命令的输入

例:image

查找命令(which、find)

which:可以查找命令
which 要查找的命令
例:which cd

find:按文件名查找文件

按文件名查找:
find 起始路径 -name "被查找文件名"

按文件大小查找:
find 起始路径 -size +|-n[kMG]
- +、-表示大于和小于
- n表示大小数字
- kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

echo-tail-重定向符

echo:
可以在命令行输出指定内容(类似print)
echo 输出的内容

反引号`:
被包围的内容会作为命令去执行,而不是普通的字符

重定向符号:
>:将左侧命令的结果覆盖写入到符号右侧指定的文件中
>>:将左侧命令的结果追加写入到符号右侧指定的文件中

tail:
查看文件尾部内容,跟踪文件的最新更改
tail [-f -num] Linux路径
- Linux路径  表示被跟踪文件的路径
- -f  表示持续跟踪
- -num  表示查看尾部多少行,默认10行	

vi编辑器

image
image
image
image
image

3. Linux权限管控

认知root用户

为普通用户配置sudo认证:

先切换到root用户,执行visudo命令,在文件的最后添加 @username ALL=(ALL)   NOPASSWD: ALL
最后通过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命令:

查看当前系统中有哪些用户
语法:getent passwd

查看当前系统有哪些组
getent group

查看权限控制信息

image

  • r表示读权限
  • w表示写权限
  • x表示执行权限
    针对文件文件夹的不同,rwx的含义有细微差别
文件 文件夹
r 可以查看文件内容 可以查看文件夹内容
w 可以修改此文件 可以在文件夹内进行创建、删除、改名等操作
x 可以将文件作为程序执行 以更改工作目录到此文件夹

chmod命令

chmod可修改文件文件夹的权限信息,只有文件、文件夹的所属用户或root用户才可更改

chmod [-R] 权限 文件或文件夹
--R  对文件夹内的全部内容应用相同操作

例:
chmod u=rwx,g=rx,o=x hello.txt
chmod -R u=rwx,g=rx,o=x hello

权限的数字序号:
权限可用三位数字来代替,第一位表示用户权限,第二位表示用户组权限,第三位表示其他用户权限
r为4,w为2,x为1
例:751表示rwx(7) r-x(5) --x(1)

chown命令

作用:修改文件/文件夹所属的用户/用户组,只适用于root用户

chown [-R] [用户][:][用户组] 文件/文件夹
--R  同chmod,对文件夹内全部内容应用相同规则
- 用户  修改后的所属用户
- 用户组  修改后的所属用户组
- :  用于分割用户和用户组

Linux实用操作

小技巧

ctrl+c  强制停止
ctrl+d  退出或登出
history  显示历史命令
!命令  自动执行上一次匹配的命令
ctrl+a  跳到命令开头
ctrl+e  跳到命令结尾
ctrl+键盘左键  向左跳一个单词
ctrl+键盘右键  向右跳一个单词
./可执行文件名  执行当前目录下的可执行文件
reboot  立即重启
man [命令]  查看命令使用手册

软链接

在系统中创建软链接,可以将文件文件夹链接到其他位置,类似windows中的快捷方式

ln -s 参数1 参数2
- -s  创建软连接
- 参数1  被链接的文件或文件夹
- 参数2  要链接去的目的地 

日期和时区

date [-d] [+格式化字符串]
- -d  按照给定的字符串显示日期,一般用于日起计算
- 格式化字符串  通过特定的字符串标记,来控制显示的日期格式
  %Y  年
  %y  年份后两位数字(00-99)
  %m  月份(01-12)
  %d  日(01-31)
  %H  小时(0023)
  %M  分钟(00-59)
  %S  秒(00-60)
  %s  自1970-01-01 00:00:00UTC到现在的秒数

例:
date "+%Y-%m-%d %H:%M:%S"      结果:2022-12-15 21:33:11
date -d "+1 day" "+%Y-%m-%d"    显示后一天的日期

ip地址和主机名

每台联网的电脑都有一个地址,用于与其他计算机通讯;IP地址有两个版本:IPv4、IPv6
IPv4的地址格式是:a.b.c.d abcd为0~255的数字

ifconfig
查看本机IP

hostname
查看主机名

hostnamectl set-hostname 主机名
修改主机名,需root用户

特殊IP:

  • 127.0.0.1 代指本机
  • 0.0.0.0 特殊IP地址
    • 可以用于代指本机
    • 可以在端口绑定中用来确定绑定关系
    • 在一些IP地址限制中,表示所有IP的关系,如放行规则设置为0.0.0.0,表示允许任意IP访问
      域名解析:

网络传输

网络请求和下载

ping [-c num] ip或主机名
- -c  检查的次数,不使用-c,将无限次持续检查
- ip或主机名  被检查的服务器ip地址或主机名

wget [-b] url
- -b  可选,后台下载,会将日志写入当前工作目录的wget-log文件
- url  下载连接

curl [-o] url
- -o  用于下载文件,当url是下载链接时,可以使用此选项保存文件
- url  要发起请求的网络地址

端口
计算机间的通讯,通过IP只能锁定计算机,但无法锁定具体程序;通过端口可锁定计算机上的具体程序,确保程序间进行沟通

IP相当于小区地址,小区内可以有许多住户(程序),门牌号(端口)就是各个住户(程序)的联系地址

nmap 被查看的IP地址
查看端口占用情况

进程管理

每个程序在运行时,会被操作系统注册为系统中的一个进程,每个进程会分配一个独有的进程ID

ps [-e -f]
- -e  显示全部的进程
- -f  以完全格式化的形式展示全部信息
固定用法:ps -ef

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

  • UID 进程所属的用户ID
  • PID 进程ID
  • PPID 进程的父ID
  • C 进程的CPU占用率
  • STIME 进程的启动时间
  • TTY 启动此进程的终端序号
  • TIME 进程占用CPU的时间
  • CMD 进程对应的名称或启动路径或启动命令

磁盘信息监控

df [-h]
- -h  以更人性化的单位显示

环境变量

一般是指在操作系统中用来指定操作系统运行环境的一些参数,它包含了一个或者多个应用程序所将使用到的信息。比如path,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到 PATH 中指定的路径去找。

env
查看环境变量(key-value结构)

自行设置环境变量:

  • 临时设置 export 变量名=变量值
  • 永久生效 source 配置文件
    • 针对当前用户生效:配置在当前用户的~/.bashrc文件中
    • 针对所有用户生效:配置在系统的/etc/profile文件中

压缩、解压

linux有两种压缩格式:

  • .tar:归档文件,即简单地将文件组装到一个.tar文件内,并无太多文件体积减少,仅仅是简单封装
  • .gz:gzip格式,使用gzip压缩算法将文件压缩到一个文件内,可以极大地减少压缩后的体积
tar [-c -v -x -f -z -C] 参数1 参数2...
- -c  创建压缩文件
- -v  显示压缩、解压过程,查看进度
- -x  解压模式
- -f  要创建的文件,或要解压的文件,-f选项必须在所有选项最后一个
- -z  gzip模式,默认.tar模式
- -C  选择解压目的地,用于解压模式

zip [-r] 压缩名 参数1 参数2
- -r  压缩文件夹

unzip [-d] 解压去的位置
- -d  指定解压去的目录

4. Reference

linux 笔记
linux 视频

posted @ 2022-12-15 22:46  山丘与沼泽  阅读(8)  评论(0)    收藏  举报