Linux(一)按键,目录,基础命令

shell

shell就是命令解释器
命令解析器的作用:对用户输入到终端的命令进行解析,调用对应的执行程序
shell将用户输入的命令解释成内核能够识别的指令
在这里插入图片描述
shell是按照$Path环境变量
在这里插入图片描述
在这里插入图片描述
常用的命令解析器:
shell – Bourne Shell
路径:/bin/sh
bash – Bourne Again Shell
路径: /bin/bash

查看当前系统所使用的shell

echo $SHELL

查看当前系统下有哪些shell

cat /etc/shells

在这里插入图片描述

Linux下的按键

tab键

补全信息,如果命令或路径存在

遍历命令

向上遍历 向上箭头或
向下遍历 向下箭头或

光标移动

左移 向左箭头或ctrl+b
右移 向右箭头或ctrl+f
移动到头部 ctrl+a 或 home
移动到尾部 ctrl+e 或end

字符删除

删除光标前边的字符:ctrl +h 或空格
删除光标后边的字符 ctrl +d
光标后面的字符即光标覆盖的字符
删除光标前所有内容 ctrl+u
删除贯标后所有内容: ctrl+k

Linux下的目标结构

Linux系统的目录结构是一个倒立的树桩结构,根目录用/表示
Linux下主要目录介绍

/bin

binary ,二进制文件,可执行程序,shell命令

/sbin

s是Super User的意思,这里存放的是系统管理员使用的系统管理程序

/dev

device ,在linux下一切皆文件
硬盘,显卡,显示器
字符设备文件、块设备文件

/lib

linux运行的时候需要加载一些动态库

/mnt

手动的挂载目录,如u盘等

/media

外部的自动挂载目录,如光驱等

/root

linux的超级用户root的家目录

/usr

unix system resource 类似于windows的programe files目录

  • include目录里存放头文件
  • games 目录下的小游戏

/etc

存放配置文件

/etc/passwd

  • man 5 passwd 可以查看passwd文件的格式信息

/etc/group

  • man 5 group可以查看group文件的格式信息

/etc/profile

系统的配置文件,修改该文件会影响这个系统下面的所有的用户

/opt

安装第三方应用程序

/home

linux操作系统所有用户的家目录

/tmp

存放临时文件
新建在这个目录下的文件会在系统重启后消失

文件和目录操作相关命令

tree命令

以树状图的形式查看目录
在这里插入图片描述

tree 查看当前目录
tree 目录 查看指定目录

可能没有,可以通过下面的命令去安装

snap install tree  # version 1.8.0+pkg-3fd6, or
apt  install tree  # version 1.8.0-1

ls命令

查看指定目录下的文件信息

ls 查看当前目录
ls 目录 查看指定目录

相关参数

-a 列出当前目录下的所有文件
. 表示当前目录
.. 表示上一级目录

隐藏文件,以.开头的文件名

-R 递归方式列出所有目录中的内容
-l 列出文件的详细信息

在这里插入图片描述

详细信息说明

第一个字母代表文件类型

文件类型
-普通文件
d目录
l符号链接,相当于windows下的快捷链接
s套接字
p管道
b块设备

第二个字母到数字之前
三种用户的权限
r 可读
w 可写
x 可执行
三种从左到右分别指拥有者拥有者所在的组的用户其他用户
数字代表硬链接计数
后面的一单词代表拥有者
再后面一单词代表所属组
数字接着代表文件大小
后面三组代表最后修改时间
最后面一组就是文件名

ls -la

列出当前目录下所有文件的详细信息,包含隐藏文件

ls -ltr

列出当前目录下的文件,按照时间逆向排序

cd命令

切换目录(change directory),命令使用方式: cd +目录
目录的形式可以是相对路径也可以是绝对路径

pwd命令

查看用户当前所处的工作目录,(printf working directory)

which 命令

显示命令所在的目录,如
在这里插入图片描述

touch命令

如果文件不存在,创建文件,如果文件存在更新文件的最后修改时间
命令使用: touch 文件名

mkdir命令

创建新目录,(make directory)
创建方式 mkdir 目录名
如果创建多级目录需要添加参数 -p
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

rmdir命令

删除空目录,只能删除空目录
使用方式: rmdir 目录名

rm命令

删除文件: rm 文件名
删除目录: rm -r 目录名

参数:

-r 递归删除目录,删除目录必须添加此参数
-i 提示用户是否删除文件或目录
-f 强制删除

注意事项:

使用rm命令删除的文件或目录不会放入回收站,数据不易恢复

cp命令

拷贝文件或目录
命令使用方式:cp源目录或文件 目标目录或文件

  1. cp file1 file2(不存在)
    拷贝不存在的文件file1
    在这里插入图片描述

  2. cp file1 file2(存在)
    拷贝存在的文件file1
    在这里插入图片描述

  3. cp file dir
    拷贝文件file到dir目录下
    在这里插入图片描述

  4. cp -r dir1 dir2(不存在)
    .拷贝不存在的目录dir1到dir2在这里插入图片描述

  5. cp -r dir1 dir2(存在)
    拷贝存在的目录dir1到dir2下
    在这里插入图片描述
    cp拷贝目录也可以用-a参数,这样可以保留被拷贝文件的一些属性信息
    在这里插入图片描述
    在这里插入图片描述

mv命令

使用方法 mv 源文件 目标文件
改名:

  1. mv file1 file2(不存在)
    在这里插入图片描述

  2. mv file1 file2(存在)
    在这里插入图片描述
    文件存在,则会被替换成源文件,而被替换的文件消失,源文件也消失

  3. mv dir dir(不存在)
    在这里插入图片描述

移动:
4. mv file dir(必须存在)
文件必须存在,佛则报错,若目录不存在,则会被认为是改名
在这里插入图片描述

  1. mv dir1 dir2
    在这里插入图片描述

查看文件内容的命令

cat命令

将文件内容一次性输出到终端
使用方法: cat 文件名
缺点:终端长度有限,如果内容过长无法全部显示
可用于文件重定向:

 cat file1>file2

相当于cp file1 file2

more命令

文件内容分页显示到终端,但是只能一直向下浏览,不能回退
使用方式:more 文件名
相关操作:
显示下一行:回车
显示下一页:空格
退出:q(Ctrl+C)

less命令

文件内容分页显示到终端,可以上下浏览
使用方式: less 文件名
相关操作:
显示下一行:回车、ctrl+p、键盘向下键
显示上一行:ctrl+n、键盘向上键
显示下一页:空格、PageDown
显示上一页:PageUp
退出:q

head命令

从文件头部开始查看前n行的内容
使用方式:head -n 文件名
如果没有指定行数,默认显示前10行内容

tail命令

从文件尾部向上查看最后n行的内容
使用方式:tail -n 文件名
如果没有指定行数,默认显示最后10行的内容
使用history可以显示用户输入的所有命令
应用:
显示日志
tail -f test.log(实时显示文件内容)

在这里插入图片描述

wc命令

wc file 显示文件行数,字节数,单词数
wc -l file 显示文件的总行数
wc -c file 显示文件的总字节数
wc -w file 显示文件的总单词数
在这里插入图片描述

whoami

显示当前登录的用户名
在这里插入图片描述

用户权限、用户、用户组

修改文件权限chmod

linux是通过权限对文件进行控制的,通过使用chmod命令可以修改文件相关权限

文件设定法

命令: chmod [who][+]-[=][mode] 文件名

操作对象[who]

u – 用户(user)
g – 同组用户(group)
o – 其他用户(other)
a --所有用户 (all)【默认】

操作符[±=]
  • + – 添加权限
  • - – 取消权限
  • = – 赋予权限
权限[mode]
  • r – 读
  • w – 写
  • x – 执行
    在这里插入图片描述
数字设定法

命令: chmod [+][-][=][mode] 文件名

数字表示的含义
  • 0–没有权限
  • 1–执行权限(x)
  • 2–写权限(w)
  • 4–读权限®
    若给file1 r-xrw-r–

    在这里插入图片描述
    注意点:使用数字设定法,一定要使用3位的8进制数,如上面的564

修改文件所有者和所有组

  • 修改文件所有者 chown
    用法:chown 文件所有者 文件名
  • 修改文件所有者和所属组 chown
    用法:chown 文件所有者:文件所属组 文件名

find 命令

按文件名查询:使用参数 -name

命令 find 路径 -name "文件名"

按文件类型查询:使用参数 -type

命令: find 路径 -type 类型

类型:
  • f->普通文件类型
  • d-> 目录
  • l->符号链接
  • b->块设备文件
  • c->字符设备文件
  • s ->socket文件
  • p->管道文件

按文件大小查询:使用参数 -size

命令:find 路径 -size 范围

范围
  • 大于:+表示
  • 小于:-表示
  • 等于:不需要添加符号
大小
  • M 必须大写
  • k必须小写
  • c 表示字节数

按文件日期

创建日期

-ctime -n/+n

  • -n :n天以内
  • +n:n天以外
修改日期

-mtime -n/+n

访问日期

-atime -n/+n

按深度

  • -maxdepth n
    搜索n层以下的目录,搜索的层数不大于n层
  • -mindepth n
    搜索n层以上的目录,搜索的层数不小于n层

高级查找

find 路径 日期/类型/大小 -exec shell命令 {} \;
解释:shell命令用来做特定的操作,例如列出文件的详细信息 ls-l
     {} \; 这是固定的结尾,注意{}\之间有一个空格
find 路径 日期/类型/大小 | xargs shell命令
|管道符 和上面的效果差不多,但如果查找的目标文件有很多,用这个,这个会分段显示

grep 命令

grep -(有目录) “查找的内容” 搜索的路径

  • -r 参数 ,若是目录,则可以递归搜索
  • -n参数可以显示该查找内容所在的行号
  • -i参数可以忽略大小进行查找
  • -v参数不显示包含有某字符串

find与grep的组合使用

通过管道符,可以用find查找文件,用grep去进行过滤显示
如:

find . -name "*.c" | xargs grep -n "main"
意义:查找当前目录下包含"main"的.c文件,并显示其行号

给频繁应用的命令起别名

三步:

  1. 在.bashrc 文件中添加你要使用的命令且为其添加别名
alias 别名='命令'

在这里插入图片描述

  1. 让其生效
. .bashrc
  1. 测试使用
    在这里插入图片描述

切换root和普通用户

Ubuntu

切换到root

sudo su

切换到普通用户

su user(用户名)

软件安装

在线安装

软件安装: sudo apt-get install 软件名
软件卸载: sudo apt-get remove 软件名
更新软件列表: sudo apt-get update
清理安装包:sudo apt-get clean
清理的是缓存路径: /var/cache/apt/archivers

软件包安装

在Ubuntu系统下必须有deb格式的安装包
软件安装: sudo dpkg -i xxx.deb
软件卸载: sudo dpkg -r 软件名

linux中常用的压缩工具

gzip和bzip

不能压缩目录,只能一个一个文件进行压缩,压缩后会使源文件消失

  • gzip * 压缩当前目录下所有的文件,但目录不能压缩
  • gunzip * 解压当前目录下所有的.gz文件
  • bzip2 * 压缩当前目录下所有的文件,但是目录不能压缩
  • bunzip2 * 解压当前目录下所有的.bz2文件
    在这里插入图片描述

tar工具

相关参数说明:

  • z: 用gzip来压缩/解压文件
  • j: 用bzip来压缩/解压文件
  • c: create,创建新的压缩文件,与x互斥使用
  • x: 从压缩文件中释放文件,与c互斥使用
  • v: 详细报告tar处理的文件信息
  • f: 指定压缩文件的名字
  • t: 查看压缩包中有哪些文件

压缩

1.压缩成.tar文件

tar cvf 压缩包名字.tar 原材料(即要打包压缩的文件或目录)

2.压缩成.tar.gz文件
先压缩成.tar文件,再把.tar文件压缩成.tar.gz文件

tar zcvf 压缩包名字.tar.gz 原材料(即要打包压缩的文件或目录)

2.压缩成.tar.bz2文件
先压缩成.tar文件,再把.tar文件压缩成.tar.bz2文件

tar jcvf 压缩包名字.tar.bz2 原材料(即要打包压缩的文件或目录)

解压缩

tar xvf 已有的压缩包 (xxx.tar)
tar zxvf 已有的压缩包 (xxx.tar.gz)
tar jxvf 已有的压缩包 (xxx.tar.bz2)

如果不加参数,解压到当前目录
添加参数-C 解压到指定目录

... -C 路径

查看压缩包中有哪些文件

tar -tvf xxx.tar

rar 工具

使用前需要安装rar工具

sudo apt install rar

压缩

命令: rar a-r 要压缩的文件(含目录)
压缩目录需要使用参数 -r
打包的心文件不需要指定后缀

解压缩

命令: rar x xxx.rar 压缩目录
不写压缩目录则直接解压到当前目录,若解压的目录不存在则会报错

zip工具

压缩:

zip -r 压缩包名 要压缩的文件(含文件或目录)
压缩目录需要使用参数-r
使用该命令不需要指定压缩包后缀

解压缩

unzip 压缩包名

解压到指定目录:添加参数 -d 解压目录
解压目录若不存在则会创建

软链接

软链接类似于windows下的快捷方式
创建软链接

ln -s 文件名 快捷方式的名字

在这里插入图片描述
目录也可以创建软链接

注意事项:

  • 创建软链接,源文件一定要使用绝对路径,否则,当软链接位置发生改变,就不能找到那个文件了
  • 软链接的文件的大小是:路径+文件名的总字节数

硬链接

硬链接的本质

硬链接的本质是不同的文件名所在的inode节点是相同的,相同的inode节点指向了相同的数据块,所以他们的文件内容是一样的,文件内容会同步
ls -i 文件名 可以查看文件的inode节点
stat 文件名 可以查看inode节点的信息
在这里插入图片描述
在这里插入图片描述
当创建一个文件,硬链接计数为1
给文件创建一个硬链接后,硬链接计数加1
删除一个硬链接后,硬链接计数减1

ln 文件名 硬链接的名字

在这里插入图片描述

使用硬链接的注意事项

  • 硬链接不能指向目录
  • 硬链接对绝对路径没有要求
  • 硬链接不能跨文件系统
    硬链接文件和源文件的inode是相同的,文件系统的inode要求唯一,跨文件系统可能会使inode不同,所以硬链接不能跨文件系统
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值