1 2 3
4

CentOS Linux基础操作

Cent OS Linux

Linux基础操作

ifconfig 查看端口号

ls 查看当前文件夹下内容

  • -a 显示指定文件夹下隐藏文件
  • -l 以列表的方式显示该文件夹
  • -h 配合-l显示文件大小

ll的本质是ls -l,只是ll是Linux的第三方插件,系统如果没有安装,会显示没有此命令。

pwd 查看当前所在文件夹

touch + 文件名 创建文件夹

mkdir + 目录名 创建目录

直接写

mkdir a/b/c/python 

会告诉你没有对应文件,这里的对应文件夹是指a文件夹 我们当然可以一步一步单独创建文件夹,最后创建python

也可以使用 -p 进行递归创建

mkdir a/b/c/python -p 

rm + 文件名 删除文件名

rm + 文件夹名 -r 删除文件夹

cd + 目录名 切换文件夹

​ ./ 表示当前的目录或文件夹下 ../ 表示上一级目录

cp + 文件名 拷贝文件

mv + 文件夹 移动文件

tree + 文化名 以树状方式显示目录结构

clear 清屏

自动补全

tab 可以帮你快速补全文件名称

Linux高级操作

chmod 文件权限设置

image-20230528220813239

以“公共”为例。它的权限显示是"drwxr-xr-x",一共由10位组成

第一位:文件类型

  • -表示普通文件,例如图里的nohup.out,它是一个二进制文件

  • d 表示文件夹,也就是目录。anaconda3就是一个文件夹

  • b 表示块文件,磁盘文件,比较少用到

  • c 字符串,比较少用到

后面是以每三位为一个整体,分为三组权限:

  • 文件所有者(Owner):文件的创建者
  • 用户组(Group):属于同一组的其他用户
  • 其它用户(Other Users):不在同一组的用户,比如游客权限

修改文件权限:

字母法:chmod u/g/o/a +/-/= rwx 文件
  • u: user表示文件拥有者
  • g: group表示与文件所有者属于同一组者
  • o: other表示其他人
  • a: all表示这三者皆是
  • +: 增加权限
  • -: 撤销权限
  • =: 设定权限
  • r/4: read读取,查看权限
  • w/2: write写,修改权限
  • x/1: excute可执行,是否可以运行
  • -/0: 不具备任何权限

可执行表示表示文件允许被执行,例如一个python文件a.py,如果它的权限是rw-,我们可以打开这个 python文件,添加或者修改里面的内容。但你想用命令行运行它的时候:python3 a.py。会被告知你没有 权限运行

chmod u=rwx,g=rx,o=r 文件

当然也可以上面都不写:chmod u=,g=,o= 文件 这样表示此文件谁都没有权限进行读、写、执行

执行chmod u=rwx,g=rx,o=r 文件  等同于:chmod u=7,g=5,o=4 文件

甚至可以简写为 chmod 754 文件:

  • 文件所有者:读、写、执行权限
  • 同组用户:读、执行的权限
  • 其它用户:读的权限

cp 将给出的文件或目录复制到另一个文件或目录中

  • -a 递归复制,保持文件所有权限

  • -i 交互式复制,在覆盖目标文件之前给用户给出提示确认

  • -r 若源文件是目录文件,则递归复制该目录下所有子目录和文件,目标文件必须是同一个目录名

  • -v 显示拷贝后的路径描述

    cp + 源文件地址 + 复制后文件地址  -irv
    

rm 删除命令

  • -i 交互式执行
  • -r 递归删除,删除文件夹必须参数
  • -d 删除空目录
  • -f 强制删除,忽略不存在的文件,无需提示

切记!!!不要执行 rm -rf /*

例如:需要删除a.txt文件时,可以写作 rm a.txt -i

则会在删除前进行询问,输入y表示同意删除,输入n表示不同意

删除文件夹时,里面如果有文件,则是写作 rm Logs -r

递归删除Logs里面的文件

所以 rm -rf /* 是表示:强制执行递归删除根目录下的所有文件

mv 移动文件或者目录,也可以给文件或者目录重命名

  • -i 交互式执行,如果mv操作导致已存在文件的覆盖,系统会询问是否重写,以避免误覆盖文件
  • -v 显示移动后的路径
mv /a/b/test.py /a/c/test_1.py 

将/a/b/test.py移动到/a/c/下,并改名为test_1.py

无论原来的文件名为什么,移动后的文件以最后写的文件名为准

所以如果是在同目录下运行mv,则实际为重命名文件

重定向命令:>

将命令执行结果重定向到一个文件。

为什么会有重定向?在Linux的操作中,通过代码制定重定向语言,就像是一个日志的记录,会将你的操 作统一记录。当你找不到想要的文件或者忘记自己曾经的操作时,通过查看重定向写入的文件,可以看 到自己以往的操作,也许这个文件已经被你删掉了。

cat 查看或者合并文件内容

image-20230528231056210

结合重定向的操作可以看到,将查看目录文件的操作重定向到test.txt的文件中,再用cat来查看文件里 面的内容。

image-20230528231311641

通过 cat test.txt README.txt > test1.txt ,我们将这两个文件的内容重定向到了test1.txt中。

建立链接文件:ln

Linux链接文件类似于Windows下的快捷方式。

链接文件分为软链接和硬链接。

软链接:软链接不占用磁盘空间,源文件删除则软链接失效。

硬链接:硬链接只能链接普通文件,不能链接目录。

硬连接:ln 源文件 链接文件 
软连接:ln -s 源文件 链接文件 
  • 硬链接后,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在。
  • 硬链接更像是凭空复制了一个文件,而软链接是可以在生成的文件后面看到一个箭头指向了源文件。当 修改了源文件之后,硬链接和软链接的文件内容都被更改了
  • 硬链接和复制文件有本质的区别:硬链接虽然是生成了一个独立的文 件,但是修改源文件,硬链接的文件也会跟着改变,表示两个文件并不是完全独立的。而当源文件被删 除之后,硬链接的文件就如同是一个独立的文件了,但软链接的文件却像消失了一样,虽然可以看见, 却不能正常访问了。

grep 文本搜索

grep允许对文本文件进行模式查找。如果找到匹配的数据, grep打印包含此数据的所有行

grep一般格式为: grep [-选项] ‘搜索内容串’文件名

在grep命令中输入字符串参数时,最好引号或双引号括起来

  • -v 显示不包含匹配文本的所有行
  • -n 显示匹配行及其行号
  • -i 忽略大小写

image-20230528232857280

通配符

用来做模糊查询的一种特殊字符。 统配字符注意有

*:代表0个或多个任意字符

?:代表任意一个字符 

[列举的字符]:代表的任意一个字符 

一般会结合查找命令进行使用,比如ls和find命令

find 搜索

来在特定的目录下搜索符合条件的文件,也可搜索特定用户属主的文件

find ./ -name test.sh   查找当前目录下名为test.sh的文件
find ./ -name ‘*.sh’    查找当前目录下后缀为.sh的文件
find ./ -name ‘[A-Z]*’  查找当前目录下所有以大写字母开头的文件
find -name ‘*.txt’

查找的是当前目录下所有以 ".txt" 结尾的文件

显示出来的结果中,不仅是将当前目录下满足条件的文件找到了,也找到了子目录下满足条件的文件。

其实这里的 *.txt 是正则表达式的一种写法

tar 打包及压缩文件

  • -c 生成档案文件,创建打包文件
  • -v 列出归档、解档详细过程,显示进度
  • -f 指定档案名称,f后面一定是.tar文件,所以必须放在选项最后
  • -x 解开档案文件
  • -z 压缩

这里的参数中,f是必须放在最后的,其他的顺序随意。

tar -cvf test.tar * 
将当前目录下的所有文件全部打包成test.tar tar
保存在当前目录下

同样,我们可以用tar将文件进行压缩打包

tar本身是没有压缩功能的,但在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行 先打包后压缩的过程。

tar -czvf test.tar.gz * 
将当前目录下的所有文件全部打包并压缩成test.tar.gz 
保存在当前目录下

image-20230528235422866

然后,我们可以使用tar进行解压操作

现将test.tar.gz移动到当前目录中的test文件夹中

image-20230528235703450

image-20230528235807653

进入到test目录中,然后通过 tar -zxvf test.tar.gz 进行解压 
也可以使用命令来指定解压到哪一个目录下面,例如: 
tar -zxvf test.tar.gz -C ./test 
将test.tar.gz文件解压到当前目录下的test文件夹中 
注意:这里的-C,C必须是大写

sudo -s 切换到管理员账号。

因为一般的游客权限是无法对Linux进行文件的写入或执行的,所以当你没有权限的 时候,可以执行这个命令,写换到服务器的管理员账号,但是你得知道密码:

yixuejiaoyu

whoami 查看当前用户

一般在自己电脑上使用这个命令,出现的都是root管理员权限。

但在公司服务器上登陆时,可能会出现 guest游客的权限。

所以结合sudo -s,可以更改权限。

频繁更改权限来执行自己的文件会觉得很麻烦,也可以直接在需要执行的命令前添加sudo来快 捷执行。

sudo python3 test.py 以管理员的权限运行python文件test.py

who

查看所有的登录用户。这里的登陆用户是不包括root管理员的。所以一般查看时,是不会显示出来的

exit 退出登录账户。

图形界面是退出当前终端;

如果是使用ssh远程登录,退出登陆账户;

如果是切换后的登陆用户,退出则返回上一个登陆账号

reboot、shutdown 关机与重启

reboot            重新启动操作系统
shutdown -r now   重新启动操作系统,shutdown会给别的用户提示
shutdown -h now   立刻关机,其中now相当于时间为0的状态
shutdown -h 20:05 系统在今天的20:25会关机
shutdown -h +10   系统再过10分钟后自动关机

软件安装

sudo apt-get update 更新源 
以管理员的权限从更新源下载安装包。这里的更新源是一个网址,表示向这个网址进行请求,将网址上的软件 包下载下来 
sudo apt-get install package 安装包 
以管理员的权限安装这个安装包。安装包就是从上面下载的那个。 
sudo apt-get remove package 安装包 以管理员的权限删除这个安装包。

一般的更新源网址都是国外的,下载的速度可能回比较慢,我们可以直接在网上先找到国内的更新源, 再进行下载,速度会比较快

编辑器vim

这是Linux自带的编辑器,用于在Linux内部进行文本或者代码的编辑。直接输入 vim 就能直接进入 编辑器。在shell环境(与Python一样,也是一种脚本语言。开头的提示符为$)中,输入 vi 同样也可以 进入此编辑器。我们使用的Linux环境就是直接的shell环境,如果vim无法进入,就使用vi。

vim 一共有三种模式:

命令模式

任何时候,只需要按下ESC键,就会进入命令行模式。此时的编辑器命令是用来完成编辑器中对应 动作的。如果命令正确就会执行,如果不正确,会在最下方以红色标注出来,告诉你命令不存在或不正 确。在vim的命令模式中,请务必注意命令的大小写。

编辑模式

在命令模式中,输入小写字母 i、a、o、c、r、s都会进入编辑模式,虽然它们的命令操作结果都不 相同。这个模式中,你可以进行文本的编辑。

末行模式

在命令模式中,输入英文的冒号 : ,就可以在窗口最下面看到这个冒号,也表示进行了末行模式。 进入末行模式,我们使用最多的是对文件退出的操作

命令模式

移动命令
h:左移
j:下移 
k:上移 
l:右移 
M: 光标移动到中间行
L: 光标移动到屏幕最后一行行首 
G: 移动到指定行,行号 -G 
w: 向后一次移动一个字 
b: 向前一次移动一个字 
Ctr-d: 向下翻半屏 
Ctr-u: 向上翻半屏 
Ctr-f: 向下翻一屏 
Ctr-b: 向上翻一屏 
gg: 光标移动文件开头 
G: 光标移动到文件末

当然,也可以通过键盘的方向键来移动光标。但是万一遇到没有方向键的键盘呢?而且其中的命令可以 快速地到达文本的某一个位置,而不是通过按键一个个的移动。

删除命令 
x: 删除光标后一个字符,相当于 Del 
X: 删除光标前一个字符,相当于 Backspace(普通的删除Delete键) 
dd: 删除光标所在行,n dd 删除指定的行数 
D: 删除光标后本行所有内容,包含光标所在字符 
d0: 删除光标前本行所有内容,不包含光标所在字符 
dw: 删除光标开始位置的字,包含光标所在字符
撤销命令 
u: 一步一步撤销 
Ctr-r: 恢复刚才的撤销
重复命令 
.: 重复上一次操作的命令。这里是英文的句号,也就是一个点
复制粘贴 
yy: 复制当前行,n yy 复制 n 行 
p: 在光标所在位置向下新开辟一行,粘贴
可视模式 
v: 按字符移动,选中文本 
V: 按行移动,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除,复制,左右移动
替换操作 
r: 替换当前光标所在位置的字符 
R: 进入替换的状态(窗口下面会出现replace的字样),替换当前行光标后的字符。完成替换后可以按esc 退出。 
也可以在末行模式进行替换操作。 
例如将文本中的 "iii" 替换为 "学习python" 
:%s/iii/学习python/g 
或者是将第一行至第10行之间的d替换成12 
:1, 10s/d/12/g

注意:%表示整个文件, 1, 10表示1到10行范围内,s表示替换,g表示全局

查找命令 
/:输入斜杠/后 在输入需要查找的内容 
n: 下一个 
N: 上一个

编辑模式

i: 插入光标前一个字符 
I: 插入行首 
a: 插入光标后一个字符 
A: 插入行未 
o: 向下新开一行,插入行首 
O: 向上新开一行,插入行首 
这里分别是大小写的英文o,不是数字零

末行模式

: 输入冒号,进入末行模式。在末行模式中 
w:保存 
wq:保存并退出 
q!:不保存并强制退
posted @ 2023-05-29 23:18  XHkoko  阅读(94)  评论(1)    收藏  举报