目录结构

Windows操作系统中路径是:

1
C:\Users\Vicczyq\Desktop\a.cpp

Linux操作系统路径:

1
/Users/Vicczyq/Desktop/a.cpp

基础命令

1、ls命令:

语法:ls [-a -l -h] [Linux路径]

  • -a -l -h 是可选的选项

-a:显示全部文件,包括隐藏文件

-l:以列表的形式展示文件,更细节

-h:搭配-l使用,人性化的显示文件大小(K,M,G)

-d:显示目录本身属性

--color:以颜色区分不同类型的文件

可以组合使用,如-al,-alh

  • Linux路径 是可选的参数

如果不加选项和参数,直接使用ls命令,表示:以平铺的形式,列出当前工作目录(开始默认为HOME目录,/HOME/用户名)内容

2、cd命令(change directory):

语法:cd Linux路径

  • cd命令无需选项,只有路径(只有参数)
  • cd命令不给路径(不写参数)的表示回到用户HOME目录

3、pwd命令(print work directory):

语法:pwd

pwd命令无选项,无参数,直接输入即可查看当前所在工作目录路径

4、相对路径、绝对路径、特殊路径符:

cd /home/Vicczyq/Desktop 绝对路径

cd Desktop 相对路径

特殊路径符:

. 表示当前目录

.. 表示上一级目录

~ 表示HOME目录

5、mkdir命令(make directory):

语法:mkdir [-p] Linux路径

-p:自动创建不存在的父目录,用于多级文件夹创建

6、touch、cat、more查看命令:

语法:touch Linux路径

例如:touch test.py 创建test.py文件(相对路径绝对路径都可以)

语法:cat Linux路径

例如:cat test.py 查看test.py文件

语法:more Linux路径

可以翻页查看文件(空格翻页,回车换行,q退出)

7、cp、mv、rm文件操作命令:

语法:cp [-r] 参数1 参数2

  • -r用于复制文件夹(如果要复制文件夹就要带上-r)
  • 参数1 Linux路径,表示被复制的文件或者文件夹路径
  • 参数2 Linux路径,表示要复制去的地方

语法:mv 参数1 参数2

  • 参数1 Linux路径,表示被移动的文件或文件夹路径
  • 参数2 Linux路径,表示要移动去的地方

可以用于改名

语法:rm [-r -f] 参数1 参数2 参数3.....参数n

  • -r 用于删除文件夹
  • -f 强制删除,不会弹出确认信息(root超级管理员才用到)
  • 可以有多个参数Linux路径,删除多个

rm可以配合通配符,用来做模糊搜索删除

  • 符号*表示通配符,及匹配任意内容:
  • test* 表示以任意test开头的内容
  • *test 表示任意以test结尾的内容
  • test表示任意包含test的内容

8、which、find查找命令:

语法:which 查找的命令

通过which可以查找命令程序的文件目录,如which pwd、while mkdir

语法:find 起始路径 -name "文件名"

文件名可以使用通配符

语法:find 起始路径 -size +|-n[kMG]

  • +、-表示大于或小于
  • n表示数字大小
  • kMG表示大小单位(k为小写)

例如:

  • 查找小于10KB的文件,find -size -10k
  • 查找大于100MB的文件:find -size +100M

9、grep、wc(文件内容筛选和统计)管道符命令:

语法:grep [-n] 关键字 文件路径

  • -n可选,表示结果显示匹配的行的行号
  • 参数,关键字,必填,表示文件内容筛选的关键字
  • 参数,文件路径,必填,可以做内容输入(见管道符)

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,必填,可以做内容输入(见管道符)

拓展:管道符 |

cat test.txt | grep 关键字

cat test.txt | wc -l

将左边的输出作为右边的输入

只要左边有输出就可以作为右边的输入

10、echo、tail、head、重定向符:

语法:echo 输出的内容

例如:echo hello world!

echo pwd被包围的内容会按照命令去执行,最后以echo的形式显示结果

语法:tail/head [-f -num] Linux文件路径

  • 选项,-f,表示持续追踪,相当于动态显示文件内容,Ctrl+C可以停止
  • 选项,-num,表示查看尾部多少行,不填默认为10

重定向符:

>表示覆盖写入到文件

>>表示追加写入到文件

例如:ls -al > Desktop/test.txt

11、ln命令(软链接)快捷方式:

语法:ln -s 参数1 参数2

  • -s选项 创建软链接
  • 参数1:被链接的文件或文件夹
  • 参数2:链接的文件或文件夹(快捷方式)

12、date时间设置命令、cal日历命令

通过date命令可以在命令行中查看系统时间

语法:date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算

      • year 年
      • month 月
      • day 日
      • hour 小时
      • minute 分钟
      • second 秒

例如:date -d "-1 day"

  • 格式化字符串:通过特定的字符串标记,控制显示的日期格式

      • %Y 年
      • %y 年份后两位(如99)
      • %m 月份(01,12)
      • %d 日(0,31)
      • %H 小时(00,23)
      • %M 分钟(00,59)
      • %S 秒(00,60)
      • %s 自1970-01-01 00:00:00: UTC到现在的秒数

date -d "-1 day" %d

修改时区:rm -f /etc/localtime

Vi、Vim编辑器

vi/vim是命令行下对文本编辑的最经典的编辑器

vim是vi的加强版本,兼容vi的所有指令,而且具有shell程序编辑的功能

语法:vim 文件名 进入命令模式

i 当前光标位置进入输入模式 dd 删除光标所在行
a 当前光标位置 之后进入输入模式 ndd n为数字,删除当前光标下n行
I 当前行的开头进入输入模式 yy 复制当前行
A 当前行的结尾进入输入模式 nyy n为数字,复制当前光标下n行
o 当前光标下一行进入输入模式 p 粘贴
O 当前光标上一行进入输入模式 u 撤销修改
esc 进入命令模式 gg 到首行
0 光标移动到行开头 G 到尾部
$ 光标移动到行结尾 :wq 保存并退出
/ 进入搜索模式 :q 直接退出
n 向下继续搜索 :q! 强制退出
N 向上继续搜索 :set nu 设置显示行号

网络请求和下载

1、ping

语法:ping [-c num] ip或者主机名

  • -c 检查的次数,不使用-c就无限次

2、wget

语法:wget [-b] url

  • -b 可选,后台下载,会将日志写入到当前目录的wget-log文件中
  • url 参数,下载链接

3、curl

可以用于发送http网络请求,用于:下载文件,获取信息等

语法:curl [-O] url

  • -O 选项,用于下载文件,当url是下载链接时候,可以使用此选项保存文件
  • url,参数,要发起请求的网址

软件

1、yum命令(root)软件安装:

RPM包软件管理器,用于自动化安装Linux软件,并可以解决依赖问题

语法:yum [-y] [install | remove | search] 软件名称

  • -y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索

2、systemctl命令

控制软件:启动、停止、开机自启

语法:systemctl [start | stop | status |enable | disable] 服务名

  • start:启动
  • stop:关闭
  • status:查看状态
  • enable:开启开机自启
  • disable:关闭开机自启

压缩和解压缩

1、tar压缩

语法:tar [-c -v -x -f -z -C] 参数1 参数2...参数n

  • -c,创建压缩文件,用于压缩模式
  • -v,显示压缩,解压过程,用于查看进度
  • -x,解压模式
  • -f,要创建的文件,或要解压的文件,-f选项必须在所有选项的最后
  • -z,gzip格式,不使用就是普通的tarball格式,必须在最前面
  • -C,解压目的地

tar:tar -cvf test.tar 1.txt 2.txt 3.txt

gzip:tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

2、tar解压

语法:tar -xvf test.tar

指定解压路径:tar -xvf test.tar -C /home/vicczyq/Desktop

3、zip压缩文件

语法:zip [-r] 参数1 参数2.....参数n

  • -r,被压缩的包含文件夹时候,需要使用

4、unzip解压文件

语法:unzip 参数 [-d 文件路径]

-d指定解压去的路径位置,参数为zip压缩包文件

快捷键

1、Ctrl+C 强行停止

  • Linux某些程序运行,如果想强行停止可以Ctrl+C
  • 输入命令错误,可以通过Ctrl+C清空输入

2、Ctrl+D 退出或登出

用户切换时候等效于exit,但不能退出vi/vim

可以退出python等软件

3、history命令可以查询历史使用命令

history | grep "关键词"

可以筛选

4、!命令前缀

执行历史记录中以前缀开头的最近的命令

5、Ctrl+R 搜索历史命令

6、Ctrl+a 跳到命令开头

7、Ctrl+e 跳到命令结尾

8、Ctrl+键盘左右键 左右跳单词

9、Ctal+L 清空终端内容

等效于输入命令clear

10、Ctrl+U清空至行首

11、Ctrl+K清空至行尾

12、Home跳到行首

13、End跳到行尾

环境变量

临时设置:

语法:export 变量名=变量值

永久生效:

ecport PATH=\(PATH :/添加的东西(\)PATH取当前PATH的值)

针对当前用户:配置当前用户的~/bashrc文件

针对所有用户:配置在系统的/ect/profile文件

配置完成,通过source 配置文件命令立刻生效

IP地址和主机用户

1、hostname 查看主机名

2、hostnamectl set-hostname 主机名

修改主机名

3、设置静态IP

使用vim编辑 /ect/sysconfig/network-scripts/ifcfg-ens33文件

Linux用户

用户账号文件:/etc/passwd

用户密码文件:/etc/shadow

组账号:/etc/group

组密码:/etc/gshadow

最大权限的账户名:root

切换用户(Switch User):

1
su [-] [用户名]
  • “-”符号表示表示是否加载环境变量,建议加上
  • 用户名为可选参数,不填默认为root

切换用户后,可以用exit切回上次用户

1
sudo 其它命令

这条命令以root的身份去执行,临时root授权

并不是所有的用户都有权力使用sudo,只有配置sudo认证的才能

配置sudo认证:

切换到root用户,执行visudo命令,在文件最后添加

1
用户名 ALL=(ALL) NOPASSWORD

wq保存退出

用户和用户组

1、创建用户组:

语法 groupadd 用户组名

2、删除用户组

语法 groupdel 用户组名

3、创建用户

语法 useradd [-g -d -s] 用户名

  • -g 指定用户组,如果不指定就会创建一个和用户名一样的组自己加入
  • -d 指定用户HOME路径,不指定默认在/home/用户名
  • -s 指定shell,默认为/bin/bash

4、删除用户

语法 userdel [-r] 用户名

  • -r 删除用户的HOME目录,不使用-r只删掉用户,不删目录文件

5、查看用户所属组

语法 id [用户名]

  • 不加用户名默认显示当前用户所属用户组

6、修改用户所属组

语法usermod -aG 用户组 用户名

  • 将指定用户加入指定组

7、getent

语法 getent passwd

查看当前系统中的用户

语法 getent group

查看当前系统中的用户组

8、更改/设置用户口令

语法passwd 用户名

img

权限管理和修改

img

r:表示可读权限

w:表示可写权限

x:表示执行权限

-:无权限

权限修改:

1、chmod命令:

语法:chmod [-R] 权限 文件或文件夹

  • -R指文件夹内所有文件进行相同操作

实例:

chmod u=rwx,g=rx,o=x hello.txt

修改后的权限信息为:rwxr-x--x

0:--- 1:--x 2:-w- 3:-wx

4:r-- 5:r-x 6:rw- 7:rwx

chmod 751 hello.txt

2、chown命令:

语法:chown [-R] [用户] [:] [用户组] 文件或文件夹

  • -R指文件夹内所有文件进行相同操作
img
img