linux基础

本文详细介绍了Linux的基本操作,包括目录与文件命名规则、pwd命令、文件修改、ls命令的高级用法、文件管理、用户与组权限设置、常用命令如cp、mv、rm、cd等,以及磁盘、网络、进程和文件查找技巧。此外,还涵盖了打包压缩、软件安装、VIM编辑器和一些关键概念如权限、组管理与用户管理。

linux基础

linux下的目录下的目录与文件不能重名

  • pwd 显示当前路径

  • touch 创建一个文件,如果文件存在,则可以修改文件的末次修改时间

  • ls 查看目录下的内容

    • ls -a 显示指定目录下所有子目录与文件,包括隐藏文件
    • ls -l 以列表方式显示文件的详细信息
    • ls -h 配合-l以人性化方式显示文件大小
  • ls -a 显示隐藏目录

  • cd 切换目录

  • mkdir 创建一个文件夹

    • mkdir -p 递归创建目录
  • rm 删除一个文件

    • rm -f 强制删除,忽略不存在的文件,无需提示
    • rm -r 递归的删除文件夹下的文件,删除文件夹必须要加此参数
  • rmdir 删除一个空的文件夹

  • cp 拷贝文件

  • mv 移动文件

  • clear 清屏

  • command --help 查看文档帮助命令

  • man command 查看详细文档帮助命令

    ls通配符的使用

  • *代表任意字符

  • ?代表任意一个字符,必须是一个

  • [] 表示可以匹配字符组中的任意一个

  • [a,b,c] 表示匹配a,b,c中的任意一个

  • [a~f] 表示匹配a到f范围内任意一个字符

    cd的使用

  • cd 切换到用户的主目录

  • cd ~ 切换到用户的主目录

  • cd - 在最近工作的两个目录进行切换

  • cd . 保持当前的目录不变

  • cd … 切换到上级目录

    拷贝和移动文件

  • tree 以树状查看目录结构

    • tree -d 只显示目录
  • cp 源文件 目标文件 复制文件

    • cp -i 覆盖文件前提示
    • cp -r 复制一整个目录
  • move 源文件 目标文件 移动文件或给文件或目录重命名

    • mv -i 覆盖文件前提示

查看文件内容

  • cat 查看文件内容,创建文件,文件合并,追加文件内容等功能
    • cat -b 对非空输出行编号
    • cat -n 对输出的所有行编号
  • more 分屏显示文件内容
    • 空格键 显示手册页的下一屏
    • Enter键 一次滚动手册页的一行
    • b 回滚一屏
    • f 前滚一屏
    • q 退出
    • /word 搜索word字符串

grep查找

  • grep 搜索文本 文件名 搜索文本文件内容
  • grep -n 显示匹配行及行号
  • grep -v 显示不包含匹配文本的所有行(类似于求反)
  • grep -i 忽略大小写
  • ^a 行首,搜索以a开头的行
  • ke$ 行尾,搜寻以ke结束的行
  • 如果搜索的单词中有空格,则需要用""把单词引起来

echo和重定向和管道

  • echo hello world 会在终端中显示参数指定的文字,一般和重定向一起使用
  • 重定向, > 表示输出,会覆盖原有文件内容;>> 表示追加文件内容
  • | 表示管道命令
  • 命令1 | 命令2 表示执行完命令1之后的结果再执行命令2

关机

  • shutdown 选项 时间 关机,重新启动,默认一分钟之后完成
    • shutdown -r 重新启动
    • shutdown now 立刻关机
    • shutdown -r now 立刻重新启动
    • shutdown +10 系统再过10分钟之后关机
    • shutdown 18:30 系统将在18:30的时候进行关机
    • shutdown -c 取消 重新启动或关机

查看或配置网卡信息

  • ipconfig 查看网卡配置信息
  • ping ip地址 检测目标的ip地址是否导通
  • ssh [-p port] user@remote
    • port 默认为22
    • user为服务器名称
    • remote 可以是ip地址,也可以是服务器别名
    • 在进行xshell进行远程连接时,如果连接不上,那么就是unbuntu的ssh服务没有启动,再ubuntu终端中输入sudo apt-get install openssh-server,ps -e | grep ssh ,查看如果有sshd则说明已经启动成功,此时再用xshell连接即可。详情请参考https://www.cnblogs.com/yadongliang/p/8663146.html
  • scp -P port 源文件 user@remote:目标文件 远程拷贝文件
    • -r 可以复制一个文件夹
  • 在windows中进行远程文件交互,可以下载软件filezilla,以FTP格式进行传输,注意此时的端口号为21
  • 在xshell中进行文件传输时,首先需要在unbuntu中安装lrzsz包,安装命令是 sudo apt-get install lrzsz,然后在ubuntu中操作,sz是把ubuntu中的文件下载到本地,rz是将本地的文件上传到unbuntu中。并且上传时不能有同名文件,否则会失败。

权限

  • 使用 ls-l,对于终端中显示的界面,
目录拥有者权限组权限其他用户权限
-rw-rw-r–
drwxrwxr-x

d表示目录,r代表读,w代表写,x代表执行

  • 修改权限 chmod +/-权限 文件名,例如 chmod +r hello.py,表示给hello.py增加读的权限
  • 使用sudo 会进入到超级管理员root身份

组管理

  • 在实际开发中,可以预先针对组设定好权限,然后将不同的用户添加到对应的组中,从而不用依次为 每一个用户设置权限
  • 下面的操作均需加上sudo命令
  • groupadd 组名 添加组
  • groupdel 组名 删除组
  • cat /etc/group 确认组信息
  • chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组

用户管理

序号命令作用说明
01useradd -m -g 组 新建用户名添加新用户-m 自动建立用户家目录;-g 指定用户所在的组,否则会建立一个和同名的组
02passwd 用户名设置用户密码如果是普通用户,直接用passwd可以修改自己的账户密码
03userdel -r 用户名删除用户-r 选项会自动删除用户家目录
04cat /etc/passwd | grep 用户名确认用户信息新建用户后,用户信息会保存在/etc/passwd文件中

查看用户信息

序号命令作用
01id[用户名]查看用户的UID和GID信息
02who查看当前所有登陆的用户列表
03whoami查看当前登录的用户的账户名
  • usermod 可以用来设置用户的主组/附加组和登录shell,命令格式如下

  • 主组:通常在新建用户时指定,在/etc/passwd的第四列GID对应的组

  • 附加组:在/etc/group中的最后一列表示该组的用户列表,用于指定用户的附加权限

  • 设置了用户的附加组之后,需要重新登录才能生效

  • usermod -g 组 用户名修改用户的主组
    usermod -G 组 用户名修改用户的附加组
    usermod -s /bin/bash 用户名修改用户登录Shell
  • 默认添加的user用户是没有sudo命令的,可以用下面的命令为其添加sudo命令

    • usermod -G sudo 用户名
    • 当自己创建的用户,通过远程登录ubuntu时,其终端界面会默认是dash,没有颜色,而且上下键不能切换命令,此时我们需要在ubuntu下修改用户登录shell,使用usermod -s /bin/bash 用户名,重新远程连接即可。

切换用户

序号命令作用说明
1su - 用户名切换用户,并且切换目录- 可以切换到用户家目录,否则保持位置不变
2exit退出当前登录账户
  • su 不接用户名,可以切换到root,但是不推荐使用,因为不安全

which

  • 使用which 可以查看执行命令的所在位置,例如 which passwd

修改目录权限

序号命令作用
1chown 用户名 文件名/目录名修改拥有者
2chgrp -R 组名 文件名/目录名修改组
3chmod -R 755 文件名/目录名修改权限
拥有者其他
rwxrwxrwx
421421421
# 时间和日期
  • date 查看当前系统时间
  • cal 查看日历
    • cal -y 查看当前一年的日历

磁盘信息

  • df -h 显示磁盘剩余空间
  • du -h [目录名] 显示目录下的文件大小
  • -h 以人性化的方式显示文件大小

进程信息

  • ps aux 查看进程的详细状况
    • a 表示显示终端上的所有进程,包括其他用户的进程
    • u 显示进程的详细状态
    • x 显示没有控制终端的进程
  • top 动态显示运行中的进程并且排序
    • 退出top,可直接输入q即可
  • kill [-9] 进程代号 终止指定代号PID的进行,-9表示强行终止
  • ps默认只会显示当前用户通过终端启动的应用程序
  • 使用kill命令时,最好只终止当前用户开启的进程,不要终止root开启的进程,否则系统容易奔溃

find查找

  • find [路径] -name “文件名” 查找指定目录下的文件,包括子目录
    • 学习的通配符照样可以使用在文件名中
    • 如果不指定路径,则默认在当前文件夹下

ln软链接

  • ln -s 被链接的源文件 链接文件 创建一个文件的软链接,就类似于windows下的快捷方式
    • 没有-s的创建的是一个硬链接,硬链接中两个文件占用相同的磁盘大小,工作中几乎不会创建硬链接
    • 源文件要使用绝对路径,方便文件移动后可以继续使用

打包压缩

  • tar是linux中最常用的备份工具,可以把一系列文件打包成一个大文件,也可以把一个打包的大文件变成一系列文件,tar只负责打包,不负责压缩,gzip负责压缩
  • 打包文件
    • tar -cvf 打包文件.tar 被打包的文件/路径
  • 解包文件
    • tar -xvf 打包文件.tar
  • c 生成档案文件,创建打包文件
  • x 解开档案文件
  • v 列出归档解档的详细过程,显示进度
  • f 指定档案名称,f后面一定是.tar文件,所以必须放选项最后。
  • gzip是打包命令,后缀名为.gz,但是一般都是用tar打包之后,再用gzip压缩,所以压缩包的后缀名为.tar.gz
  • tar 中有一个选项-z可以直接调用gzip,从而可以方便的实现压缩和解压缩的功能
  • 命令格式 如下:
  • 压缩文件
    • tar -zcvf 打包文件.tar.gz 被压缩的文件/路径
  • 解压缩文件
    • tar -zxvf 打包文件.tar.gz
  • 解压缩文件到指定路径,目标目录必须存在
    • tar -zxvf 打包文件.tar.gz -C 目标路径
  • bzip2也是一种压缩,后缀名为.bz2,与gzip类似,只不过tar中调用bzip2使用-j,其他与gzip一样

apt软件安装

  • 安装软件
    • sudo apt install 软件包
  • 卸载软件
    • sudo apt remove 软件包
  • 更新已安装的包
    • sudo apt upgrade

VIM

命令解释
vim 文件名创建或打开一个文件
vim 文件名 +行数快速定义到某一行,如果只写+号,则会定义到末尾
i进入编辑模式
Esc退出当前模式
:w保存
:q退出
:wq保存并退出
:q!强制退出
:x保存并退出
:e .会打开内置的文件浏览器,浏览当前目录下的文件,必须先保存当前文件
:n 文件名新建文件
:w 文件名另存为,但是会仍然编辑当前文件,并不会切换文件,必须先保存当前文件
:sp[文件名]横向增加分屏
:vsp[文件名]纵向增加分屏
ctrl w w切换到下一个窗口
ctrl w r互换窗口
ctrl w c关闭当前窗口,但不能是最后一个窗口
ctrl w q退出当前窗口,如果是最后一个窗口,则退出VIM
ctrl w o关闭其他窗口
先输入数字,在输入命令让命令重复指定次数
hjkl左下上右
w向后移动一个单词
b向前移动一个单词
0回到行首
^回到行首第一个非空白字符
$回到行尾
gg移动到文件顶部
G移动到文件末尾
数字gg移动到数字所在行数
数字G移动到数字所在行数
:数字移动到数字所在行数
ctrl b向上翻页
ctrl f向下翻页
H移动到屏幕顶部
M移动到屏幕中间
L移动到屏幕底部
{跳转到上一段的空行
}跳转到下一段的空行
%在成对的括号中进行匹配或切换
mx添加标记x,x是a-z,A-Z中的任意一个字母
'x直接定位到标记x的所在位置
v进入可视模式,从光标位置开始按正常模式选择文本
V进入可视行模式,选中光标经过完整的行
ctrl v进入可视块模式,垂直方向选中文本
可视模式+移动命令在可视模式下可以和移动命令连用
ggVG选中所有文本
u撤销
ctrl r反撤销
x删除光标所在字符,剪切,删除操作实际上就是剪切操作
d(移动命令)删除移动命令对应的内容,剪切
dd删除光标所在行,剪切
D删除至行尾,剪切
dw从光标位置删除到单词末尾
d0从光标位置删除到行首
d}从光标位置删除到段尾
ndd从光标位置向下删除n行
d代码行G从光标位置删除到指定代码行
d’a从光标所在行删除到标记a之间的所有代码
y(移动命令)复制
yy复制一行
nyy复制n行
p粘贴
r替换光标字符
R替换光标之后的行字符
>>向右缩进4个字符,在可视模式V下,只需要按一个>号
<<向左缩进4个字符,在可视模式V下,只需要按一个<号
.重复上次命令
/str查找str
n查找下一个
N查找上一个
*向后查找当前光标坐在单词
#向前查找当前光标所在单词
:%s/旧文本/新文本/g查找并全局替换
先选中要替换文字的范围
然后输入:s/旧文本/新文本/g
可视区域内进行替换
:%s/旧文本/新文本/gc确认替换
y替换
n不替换
a全部替换
q退出
i在当前字符前插入文本
I在行首插入文本
a在当前字符后添加文本
A在行末添加文本
o在当前行后面添加空行
O在当前行前面添加空行
##########1、在命令模式下
2、输入10,表示要重复10次
3、输入i进入编辑模式
4、输入#也就是重复的数字
5、按下Esc返回到命令模式,返回之后vim就会把第3,4的操作重复10次
给多行代码添加注释1、移动到要添加注释的第一行代码,按^来到行首
2、按ctrl v进入可视化模式
3、使用j向下选中要添加的代码行
4、输入I进入编辑模式,并在行首插入,注意,一定要是I
5、输入注释符号#
6、按下Esc返回命令模式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值