Linux中的基本命令符

命令的本质起始就是文件。
命令的本质 = 可执行文件 = 我们写的程序

在Linux中*是通配符,可以指代任意内容。
文件 = 内容 + 属性(非常重要,后续会经常提到)

ls

显示当前目录(我这个用户(whoami)所处的目录(pwd))下的文件:ls
ls默认显示文件名。(在Linux中,以.开头的文件是隐藏文件,默认不会显示)

下面是一些常用的显示文件的操作:

复制代码
-a 列出目录下的所有文件,包括以.开头的隐含文件。
-d 将目录象文件一样显示,而不是显示其下的文件。如:Is-d指定目录
-i输出文件的i节点的索引信息。如ls-ai 指定文件
-k以k字节的形式表示文件的大小。ls-alk指定文件
-1列出文件的详细信息。
-n用数字的UID,GID代替名称。(介绍UID,GID)
-F在每个文件名后附上一个字符以说明该文件的类型,"*"表示可执行的普通文件;"/"表示目录;"@"表
示符号链接;"|"表示FIFOs;"="表示套接字(sockets)。(目录类型识别)
-r对目录反向排序。
-t以时间排序。
-s在I文件名后输出该文件的大小。(大小排序,如何找到目录下最大的文件)
-R列出所有子目录下的文件。(递归)
-1一行只输出一个文件。

pwd

显示当前所在目录的绝对地址

cd

cd:路径切换
cd ..:返回上一级目录

Linux中 / 是路径分隔符,但最开始的 / 是Linux的根目录,不是分隔符
cd ~:返回当前用户自己的 家目录(任何Linux用户用特定的用户名登录系统时,默认就在家目录下)
cd -:跳转到最近所处的路径

Linux的文件结构

Linux的文件结构,是一颗从 /(根目录) 开始的一个多叉树:

叶子结点:一定是普通文件或是空目录

非叶子结点:一定是一个非空目录

绝对路径 :从根目录开始,一直到目标文件的路径叫绝对路径
相对路径:以不是根目录的位置为参照位置,定位一个文件相对路径

绝对路径 相对路径
在配置文文件中进行使用 日常操作用的多

./test.c:一个 . 方便定位当前目录下的文件
../test.c:定位上一个目录的文件

任何一个目录,即使是一个空目录,默认系统都会自带.(当前路径)..(上一级路径)

touch & stat

touch+文件名:创建一个文件(创建普通文件只能用touch命令)
stat+文件名:查看文件按详细的属性介绍

在查看属性介绍时会出现Access Modify Change这三个字样,其中:

内容更改:modify改变

属性更改:change改变

查看内容:access改变

mkdir

mkdir:创建一个目录
mkdir -p a/b/c/d:创建一串路径

tree

树状结构递归的显示目录的内容。

which

查找并显示可执行文件的路径,可以用来指定目录下查找指定的指令。

alias

可以用来给其他命令起别名。
alias lils='ls -la'ls -la起一个lila的别名

rmdir & rm

rmdir只能删除空目录
rm删除,默认只能删普通文件
rm -f:强制删除文件
rm -r:删除目录

man

可以用来查看命令、函数、配置文件 等的详细手册页。

cp

拷贝文件。
cp hello.txt lesson:将hello文件拷贝到lesson目录里面去
cp xxx 目录:会把指定的文件拷贝到指定的目录内部

echo & cat & tac

cat显示指定文件名里面的内容
tac反向显示文件内容
echo把后续内容当做字符串打印出来
echo "helloworld" > hello.txt:新建一个hello.txt文件,再写入helloworld
> :重定向,后续文件不存在,新建文件,存在,先清空后写入
>>:追加重定向,在文件后追加,不清空
<:输入重定向

文件类型

Linux下不以文件后缀区分文件类型,但是不代表禁止使用后缀,系统不关心后缀,但是工具(例如:gcc)关心
-开头:普通文件,文本,可执行文件,库,图片,视频...
d开头:目录文件
c开头:字符文件,键盘、显示器、终端、输入的数据具有顺序性
b开头:块设备文件、磁盘
l开头:链接文件
p开头:管道文件

mv

mv srcfile dstdir:将srcfile移动到dstdir
mv src dst:对指定文件重命名

如果dst不是目录或是不存在,重命名,不然就是移动

less & more

less打开文件可以上翻下翻搜索等
more只能下翻

tail & head

tail只显示结尾的几条内容
head只显示开头的几条内容
head -n 文件:只显示开头n行内容
tail -n 文件:只显示结尾n行内容
head -510 log.txt | tail -10:(其中 | 称为管道,上述命令本质是两条命令,第一条命令的执行结果通过管道再执行第二行命令)取500到510行的内容

find

whereis:很少用
find ~ -name * .c:从家目录开始,查找所有以.c结尾的文件

grep

行文本过滤指令
cat /var/log/messages | grep "Remove":筛选出素有含有remove的指令

常用指令:
-i:忽略大小写的不同,所以大小写视为相同
-n:顺便输出行号
-v:反向选择,选出没有相关指令的

在Linux系统中, 为找到文件try_grep含有以a字母为行开头的内容, 可以使用命令:grep -E ^a try_grep

zip & unzip

zip lesson.zip lessons:将lessons文件夹打包压缩成lesson.zip
zip -r lesson.zip lessons:打包成目录,打包目录必须有-r
unzip lesson.zip -d /root:将这个文件指定解压到root目录下

sz & rz

sz lesson.zip:将lesson这个压缩包传到Windows
rz:从Windows上传到云服务器

tar

tar 选项 XXX.tgz srcdir:将后者打包压缩成前者

复制代码
-c:建立一个压缩文件的参数指令(create的意思);
-x:解开一个压缩文件的参数指令!
-t:查看tarfile里面的文件!
-z:是否同时具有gzip的属性?亦即是否需要用gzip压缩?
-j:是否同时具有bzip2的属性?亦即是否需要用bzip2压缩?
-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f:使用档名,请留意,在f之后要立即接档名喔!不要再加参数!
-C:解压到指定目录

解包也用tar
tar xzf XXX.tgz 目标目录:解压到其他目录

scp

scp命令,远程拷贝
scp 目标文件 用户名@公网IP:目标机器指定路径

bc

Linux中的简单计算器

uname

在Linux环境中查看你的体系结构和系统内核版本?
uname -a:打印所有体系结构
uname -r:操作系统内核版本

top

查看CPU占用率

重要热键

tab:补全指令,档案补齐

ctrl+c:停止当前程序

ctrl+d:键盘输入结束/代替exit

ctrl+r:搜索历史命令

shell命令第一次理解

从技术角度,最简单的定义:命令行解释器,主要包含:

  1. 将使用者的命令翻译给核心处理
  2. 将核心的处理结果翻译给使用者

为什么要存在外壳程序?

  1. 方便用户操作
  2. 外壳程序,保护内核

外壳程序->进程->新命令到来->创建子进程执行

shell是所有外壳程序的总称,bash是Linux具体shell外壳的名字

相关推荐
桌面运维家2 小时前
服务器RAID优化:IOPS性能与数据安全实战指南
运维·服务器·网络
江公望2 小时前
make modules_install和make install的区别
linux
HABuo3 小时前
【linux线程(二)】线程互斥、线程同步、条件变量详细剖析
linux·运维·服务器·c语言·c++·ubuntu·centos
墨^O^3 小时前
进程与线程的核心区别及 Linux 启动全过程解析
linux·c++·笔记·学习
福楠3 小时前
现代C++ | C++14甜点特性
linux·c语言·开发语言·c++
Lugas Luo3 小时前
Kernel 5.10 针对 eMMC 的 Detect、Power、Add 及深度优化解析
linux·嵌入式硬件
charlie1145141913 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(4)从零构建 STM32 构建系统
linux·开发语言·c++·stm32·单片机·学习·嵌入式
crossaspeed3 小时前
Nginx配置文件详解
运维·nginx