Linux基础1

目录

  • 远程登录
  • 文件与目录管理
    • 目录结构
    • 常用命令
  • Tasks
    • 创建文件夹、删除文件夹
    • 下载文件、阅读文件
    • 在目录下使用vi或vim编辑文件
  • 参考

系统环境:mac登陆远程虚拟linux环境

远程登录

终端输入地址、密码

ssh [email protected]

文件与目录管理

目录结构

  • 命令
ls /
  • 结果
    在这里插入图片描述
  • 说明
文件夹 存储内容
bin 最常使用命令
boot 核心文件(链接文件+镜像)
dev 外部设备
etc 系统管理所需配置文件和子目录
home 用户主目录
dev 外部设备
lib 动态链接共享库
boot 核心文件(链接文件+镜像)
media U盘、光驱等设备
mnt 临时挂载文件
opt 额外软件目录
boot 核心文件(链接文件+镜像)
proc 虚拟文件系统
root 管理员主目录
sbin 管理员管理程序
selinux 防火墙
srv 服务启动后需提取数据
sys 文件系统(proc+devfs+devpts)
tmp 临时文件存放
usr 用户程序及文件
var 经常被更新的文件(日志等)
run 临时文件,重启后会被删除
lost+found 异常关机后存放文件

常用命令

  • 文件操作命令
基本命令 全拼 用途 示例 描述
ls list files 列出目录及文件名 ls -a 查看所有文件(包括.开头隐藏文件)
ls -d 仅显示目录本身
ls -l 显示详情,包括属性、权限、修改日期等
cd change directory 切换目录 cd ~ 回到根目录
cd .. 返回上级目录
pwd print work directory 显示当前目录 pwd 显示当前目录
pwd -P 显示完整非链接路径
mkdir make directory 创建目录 mkdir t1 创建t1文件夹
mkdir -m 711 t1 创建t1文件夹,并配置属性,711为属性代码
mkdir -p t1/t2/t3 逐层创建t1、t2、t3文件夹
rmdir remove directory 删除空目录 rmdir t1 删除空文件夹t1,非空会报错
rmdir -p t1/t2/t3 逐层删除空文件夹t1、t2、t3
rm remove 删除文件或目录 rm -f t1 强制删除文件t1,没有报错或询问
rm -i t1 互动删除文件(夹),询问是否确定删除
rm -r t1 递归删除文件夹t1下所有文件
cp copy 复制文件或目录 cp -a source destination 复制所有文件、属性、链接等
cp -d source destination 快捷方式
cp -f source destination 强制覆盖
cp -i source destination 会提示相同文件已存在是否覆盖
cp -l source destination 只生成链接
cp -p source destination 复制文件及其属性
cp -r source destination 复制整个文件夹
cp -u source destination 用于文件更新
mv move file 移动文件或目录,重命名 mv -f source destination 强制移动,没有报错或询问
rm -i source destination 互动移动,询问已存在
rm -u source destination 更新
ln link 建立文件之间的连接关系 ln f1 f2 建立文件f2,与f1硬连接(同节点号,但文件实体不同)
ln -s f1 f2 建立文件f2,与f1软连接(同一文件但节点号不同)
wget website get 指定网站下载文件 wget url 下载文件(最后一个/后为完整文件名)
wget --spider url 测试文件是否存在、可下载
wget -c url 断点续传
wget -b url 后台下载,可用“tail -f wget-log”命令查看进度
wget -O test.txt url 将文件存为test.txt

注:wget详细参数参考此链接。

  • 文件查看命令
基本命令 用途 示例 描述
man 查看命令帮助手册 man ls 查看ls命令帮助手册
cat 从第一行开始显示文件内容 cat t1 查看t1文件内容
tac 从最后一行开始显示文件内容 tac t1 从最后一行开始查看t1文件内容
nl 显示行号 nl t1 查看t1文件,带行号
head 显示前n行 head -n 5 t1 查看t1文件前5行
tail 显示后n行 tail -n 5 t1 查看t1文件后5行
more 一页一页向后查看文件 more t1 查看t1文件
less 向前/向后查看文件 less t1 查看t1文件

注:
more后续操作如下:

  1. 空格:向后一页
  2. 回车:向后一行
  3. /字符串:向后查找字符串
  4. :f:显示文档名及总行数
  5. q:退出
  6. b:往回翻页

less后续操作如下:

  1. 空格:向后一页
  2. [pagedown]:向下翻动一页
  3. [pageup] :向上翻动一页
  4. /字符串:向后查找字符串
  5. ?字符串:向前查找字符串
  6. n:重复前一个搜索
  7. N:反向重复前一个搜索
  8. q:退出

Tasks

创建文件夹、删除文件夹

  • 任务
    • 在指定目录下,新建一个文件夹A,在文件夹A内部创建一个以文件夹B
    • 在B文件夹内创建一个空txt文件
    • 删除txt文件
    • 删除文件夹B,然后删除文件夹A
  • 代码
[没有名字!@i-ym8u2kyp ~]$ cd /home/datawhale
[没有名字!@i-ym8u2kyp ~]$ mkdir ling
[没有名字!@i-ym8u2kyp ~]$ ls
anaconda3  geyashi  John     Lucs     Recal    Yuh         zzx
Ben        home     joychou  Lxt      richard  yui
czy        jane     ling     Maxwell  ss       zhaiyichen
datawhale  jense    liuy     naruto   Tianjia  zzw
[没有名字!@i-ym8u2kyp ~]$ mkdir ling/datawhale
[没有名字!@i-ym8u2kyp ~]$ ls ling
datawhale
[没有名字!@i-ym8u2kyp ~]$ cd ling/datawhale
[没有名字!@i-ym8u2kyp datawhale]$ touch test.txt
[没有名字!@i-ym8u2kyp datawhale]$ ls
test.txt
[没有名字!@i-ym8u2kyp datawhale]$ rm test.txt
[没有名字!@i-ym8u2kyp datawhale]$ cd ..
[没有名字!@i-ym8u2kyp ling]$ rmdir datawhale
[没有名字!@i-ym8u2kyp ling]$ cd ..
[没有名字!@i-ym8u2kyp ~]$ rmdir ling
[没有名字!@i-ym8u2kyp ~]$ ls
anaconda3  datawhale  jane   joychou  Lxt      Recal    Tianjia  zhaiyichen
Ben        geyashi    jense  liuy     Maxwell  richard  Yuh      zzw
czy        home       John   Lucs     naruto   ss       yui      zzx

下载文件、阅读文件

  • 任务
    • 指定目录下,新建一个文件夹A,在文件夹A内部创建一个文件夹B
    • 使用wget命令下载https://mirror.coggle.club/dataset/affairs.txt,到文件夹B
    • 使用head、cat、tail命令阅读下载的文件
    • 在命令行使用ipython进入python3环境,并使用pandas读取下载的文件
  • 代码
[没有名字!@i-ym8u2kyp ~]$ mkdir -p ling/datawhale
[没有名字!@i-ym8u2kyp ~]$ cd ling/datawhale
[没有名字!@i-ym8u2kyp ~]$ wget --spider https://mirror.coggle.club/dataset/affairs.txt
开启 Spider 模式。检查是否存在远程文件。
--2021-12-13 22:13:31--  https://mirror.coggle.club/dataset/affairs.txt
正在解析主机 mirror.coggle.club (mirror.coggle.club)... 139.215.234.228, 2408:872b:f01:1002:3::3fc
正在连接 mirror.coggle.club (mirror.coggle.club)|139.215.234.228|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:92161 (90K) [text/plain]
存在远程文件。

[没有名字!@i-ym8u2kyp datawhale]$ wget https://mirror.coggle.club/dataset/affairs.txt
--2021-12-13 22:14:40--  https://mirror.coggle.club/dataset/affairs.txt
正在解析主机 mirror.coggle.club (mirror.coggle.club)... 139.215.234.228, 2408:872b:f01:1002:3::3fc
正在连接 mirror.coggle.club (mirror.coggle.club)|139.215.234.228|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:92161 (90K) [text/plain]
正在保存至: “affairs.txt”

100%[======================================>] 92,161      --.-K/s 用时 0.06s   

2021-12-13 22:14:41 (1.55 MB/s) - 已保存 “affairs.txt” [92161/92161])

[没有名字!@i-ym8u2kyp datawhale]$ head -n 10 affairs.txt
[没有名字!@i-ym8u2kyp datawhale]$ tail -n 10 affairs.txt
[没有名字!@i-ym8u2kyp datawhale]$ cat affairs.txt
[没有名字!@i-ym8u2kyp datawhale]$ more affairs.txt

在目录下使用vi或vim编辑文件

  • 任务
    • 分别使用Nano和Vim创建py文件,并输入并运行
#!/usr/bin/env python3
print('Hello World!')
  • Nano代码
    • 建立nanotest.py文件
    • 输入内容
    • 按界面提示保存退出
[没有名字!@i-ym8u2kyp ling]$ nano nanotest.py
[没有名字!@i-ym8u2kyp ling]$ cat nanotest.py
#!/usr/bin/env python3
print('Hello World!')
[没有名字!@i-ym8u2kyp ling]$ python3 nanotest.py
Hello World!
  • Vim代码
    • 建立vimtest.py文件
    • 按下i进入输入模式
    • 输入内容
    • esc退出输入模式
    • :wq保存
[没有名字!@i-ym8u2kyp ~]$ cd ling
[没有名字!@i-ym8u2kyp ling]$ vim vimtest.py
[没有名字!@i-ym8u2kyp ling]$ cat vimtest.py
#!/usr/bin/env python3
print('Hello World!')
[没有名字!@i-ym8u2kyp ling]$ python3 vimtest.py
Hello World!

参考

Datawhale Linux组队学习

你可能感兴趣的:(linux,linux)