首页 > 系统相关 >Linux常用命令

Linux常用命令

时间:2024-03-14 19:56:29浏览次数:18  
标签:文件 tar 常用命令 命令 Linux txt root 目录

Linux常用命令

一、Linux文件系统

  • 文件系统是操作系统用于明确存储设备(如磁盘)上的文件的方法和数据结构;即在存储设备上组织文件的方法。

  • 操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。

  • 文件系统的结构通常叫做目录树结构,从/根目录开始。

  • Linux号称“万物皆文件”,意味着针对Linux的操作,大多数时间是在针对Linux文件系统操作。

image-20240310013948840

  • 文件系统都是从/根目录开始的,windows文件系统会以盘符来区分不同文件系统;

  • 目录树中节点分为两个种类:目录(directory)、文件(file);

  • 从根目录开始,路径具有唯一性

  • 只有在目录下才可以继续创建下一级目录,换句话说目录树到文件终止蔓延。

特殊符号

  • . 目录或者文件以.开始表示隐藏文件

  • .. 当前目录的上一级目录

  • ~ 当前用户的home目录,比如root用户home目录是/root

  • / 根目录

# 进入当前目录下的a
cd ./a
# 进入根目录下的a
cd /a
# 进入当前目录上一级下的a
cd ../a
# 进入当前操作用户home目录下的a
cd ~/a
# 进入当前目录下的a  a是隐藏的
cd .a

混淆概念

  • 当前路径:也叫当前工作目录,当下用户所属的位置;

  • 相对路径:相对当前工作目录开始的路径,会随当前路径变化而变化;

  • 绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始,唯一不重复。

image-20240310014852190

二、Linux常见的操作命令

便捷使用:

  • Tab可以使用自动补全和提示
  • history命令可以显示历史执行记录,或者使用方向键来切换前后执行过的命令

文件系统相关的命令

显示目录内容:

ls(list files)命令:用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)

  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 注意 ls -l = ll
  • -a 显示所有文件及目录 (.开头的隐藏文件也会列出)
ls path
ls -a path  # 查看所有文件 包括隐藏文件
ls -l =ll   # 查看文件详细信息 包括权限 类型 时间 大小等
ll -h  path    # 表示以人性化的显示内容
ll  *      # *通配符表示任意字符  ?表示有且只有一个字符

切换目录:

cd(change directory)命令:用于切换当前工作目录。切换的路径可为绝对路径或相对路径。若路径省略,则变换至使用者的home目录 。

  • ~ 也表示为home目录的意思

  • . 则是表示目前所在的目录

  • .. 则表示目前目录位置的上一层目录

pwd  #查看自己当前所在目录 
cd path  #注意自己写的是相对还是绝对的  还可以结合特殊符号使用
cd ./ 
cd /
cd ../
cd ~

创建、删除:

mkdir(make directory)命令:用于创建目录。

-p 确保父目录名称存在,不存在的就建一个。

rm(remove)命令:用于删除一个文件或者目录。

-f 强制直接删除,无需用户确认。

-r 将目录及以下所有递归逐一删除。

[root@node1 ~]# mkdir /a/b/c
mkdir: cannot create directory ‘/a/b/c’: No such file or directory
[root@node1 ~]# mkdir -p /a/b/c
[root@node1 ~]# rm -rf /a/b/c
[root@node1 ~]# rm -rf /a
-f  #强制删除  不给与提示
-r #递归删除 针对文件夹
-rf #杀伤力极大 问问自己在干什么
坐牢眼:rm -rf /*

复制、移动:

cp(copy file)命令:用于复制文件或目录。

  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
cp -r 1.txt aaa/ # -r 表示递归复制
# 表示将1.txt文件复制到 aaa文件夹中

mv(move file)命令:用来为文件或目录改名、或将文件或目录移入其它位置。

cp [options] source... directory
mv source_file(文件) dest_file(文件) #将源文件名 source_file 改为目标文件名 dest_file
mv source_file(文件) dest_directory(目录)  #将文件 source_file 移动到目标目录 dest_directory中
mv source_directory(目录) dest_directory(目录) #目录名 dest_directory 已存在,将source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory
mv source_directory(目录) dest_file(文件)  #出错

文件内容查看:

cat(concatenate)命令:用于连接文件并打印到标准输出设备如console控制台上。适合小文件内容查看。

more 命令:类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,翻页结束自动退出。适合大文件查看。

  • 按space键翻下一页,按b往回(back)上一页

less 命令:与more类似,less可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。结束不会自动退出。

  • 按space键翻下一页,按enter键翻下一行

  • 按b向上翻一页

  • 按q退出

head 命令:用于查看文件的开头部分的内容。

  • -n 用于显示行数,默认为10,即显示 10 行的内容。

tail 命令:用于查看文件的结尾部分的内容。

  • -n 用于显示行数,默认为10,即显示 10 行的内容。

  • -f 用于实时显示文件动态追加的内容。会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 文件有更新,就可以看到最新的文件内容。

其他:

| 管道命令:将前一个命令执行的结果作为内容交给下一个命令处理。

  • 命令1|命令2 可以将命令1的结果通过命令2作进一步的处理

image-20240310033358625

echo 命令:用于字符串的输出,属于shell命令。

  • echo string
[root@node1 ~]# ls
1.txt  anaconda-ks.cfg  hello  lrzsz-0.12.20.tar.gz  test  test.file
[root@node1 ~]# ls | grep ^t
test
test.file  
#相当于print 将内容输出console控制台
[root@node1 test]# echo 111
111
[root@node1 test]# echo "hello "
hello 

> 输出重定向(覆盖)命令

  • command > file 执行command然后将输出的内容存入file,file内已经存在的内容将被新内容替代。
echo "hello" > 1.txt
# 覆盖当前文件夹下1.txt中的内容

>> 输出重定向(追加)命令

command >> file 执行command然后将输出的内容存入file,新内容追加在文件末尾。

echo "hello" >> 1.txt
# 向1.txt文件中追加内容

命令1 && 命令2 命令1执行成功才执行命令2

命令1 || 命令2 命令1执行失败才执行命令2

三、搜索相关的命令

find搜索:

find 命令:用来在指定目录下查找文件。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

find <指定目录> <指定条件> <指定动作>
默认是搜索当前目录下,所有文件,结果显示在屏幕上

find . -name "*.log" -ls 在当前目录查找以.log 结尾的文件, 并显示详细信息。
find /root/ -perm 777 查找/root/目录下权限为 777 的文件
find . -type f -name "*.log" 查找当目录,以.log 结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于 100M 的文件

grep搜索:

grep 命令:用于查找文件里符合条件的字符串。通常配合|管道对命令执行的结果进行搜索。

ps -ef | grep sshd 查找指定 ssh 服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除 gerp 本身
ps -ef | grep sshd -c 查找指定进程个数

which搜索:

which命令:用于查找文件。会在环境变量$PATH设置的目录里查找符合条件的文件

可用于快速定位已安装并配置环境变量的软件目录。

[root@node1 ~]# which java
/export/server/jdk1.8.0_65/bin/java
[root@node1 ~]# which hadoop
/export/server/hadoop-3.3.0/bin/hadoop

四、软\硬 链接

  • ln(英文全拼:link files)命令:为某一个文件在另外一个位置建立一个同步的链接。可以将链接视为文件的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link)

  • 硬链接的意思是一个文件可以有多个名称;而软链接的方式则是产生一个特殊的文件,该文件的内容是指向另一个文件的位置,类似于windows中的快捷方式

  • 软、硬链接创建的区别就是有无 -s参数

    • ln -s 目标文件的绝对路径 软链接名(快捷方式)
    • ln 目标文件的绝对路径 硬链接名(可以保护数据)
# 目录/root/aaa/bbb/下的1.txt文件 改名为666.txt文件
ln -s /root/aaa/bbb/1.txt 666.txt 

image-20240310042945555

  • l开头 代表连接
  • -r开头 代表文件
  • d 开头代表文件夹

五、解压缩命令

打包、解包

tar(tape archive )命令:常用于备份文件。是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

  • -c 或--create 建立新的备份文件。

  • -x 或--extract或--get 从备份文件中还原文件。

  • -v 或--verbose 显示指令执行过程。

  • -f <备份文件>或--file=<备份文件> 指定备份文件。

# 将1.txt与2.txt文件打包到ange中,但是并没有压缩
tar -cvf ange.tar 1.txt 2.txt 

# 将ange.tar中的1.txt文件与2.txt文件解包
tar -xvf ange.tar

# 将ange.tar中的1.txt文件与2.txt文件解包到ccc文件中
tar -xvf abge.tar -C ccc/

打包压缩、解包解压缩

在打包备份或者解包的过程中,可以通过指定压缩算法,对打包的文件进行压缩,解压的时候也需要指定相应的算法。

  • -z 或--gzip或--ungzip 通过gzip指令处理备份文件。

  • 最重要的搭配:tar -zxvf xxxxx.tar.gz

# 打包压缩
[root@node1 test]# ll
-rw-r--r-- 1 root root 10240 Aug 10 19:28 1.txt
-rw-r--r-- 1 root root     0 Aug 10 19:27 2.txt

[root@node1 test]# tar zcvf test.tar.gz 1.txt 2.txt  
[root@node1 test]# tar zcvf test.tgz 1.txt 2.txt     
[root@node1 test]# ll

-rw-r--r-- 1 root root 10240 Aug 10 19:28 1.txt
-rw-r--r-- 1 root root     0 Aug 10 19:27 2.txt
-rw-r--r-- 1 root root   142 Aug 10 19:35 test.tar.gz
-rw-r--r-- 1 root root   142 Aug 10 19:35 test.tgz

# 解压缩包
[root@node1 test]# tar zxvf test.tar.gz   #解压到当前目录
1.txt
2.txt

[root@node1 test]# tar zxvf test.tar.gz -C /root/   #-C参数可以设定解压到指定目录
1.txt
2.txt

标签:文件,tar,常用命令,命令,Linux,txt,root,目录
From: https://www.cnblogs.com/luoluoange/p/18073768

相关文章

  • 在Linux中,文件系统层次结构是什么?以及目录作用是什么?
    在Linux操作系统中,文件系统层次结构是一种树状结构,也称为目录层级结构,它的顶部是根目录/。这个结构遵循FilesystemHierarchyStandard(FHS),它是一套规范,用来指导Linux及其他类Unix系统中文件和目录应该如何布局以保持一致性。下面是Linux文件系统层次结构的主要组成部分以及各目......
  • 在Linux中,内核主要功能及作用是什么?
    在Linux操作系统中,内核作为其核心组件,承担着系统底层服务和关键管理职责。以下是Linux内核主要功能及作用的详细说明:进程管理:进程调度:内核通过调度算法控制进程对CPU的使用权,确保多个进程公平地分享计算资源。它负责创建、终止进程,以及在进程状态改变时进行上下文切换。进程......
  • 在Linux中,如何查看系统当前运行的进程以及它们的状态?
    在Linux中查看当前系统运行的进程以及它们的状态,可以使用多种命令工具,以下是一些常用的方法:ps命令:最基础的查看进程信息方式是使用ps命令。简单查看当前终端下的进程,可以输入:ps若想查看所有进程,包括其他终端下的进程,可以加上-e参数:ps-e若要查看详细的进程信......
  • linux系统对于docker容器的监控
    容器监控容器监控原生命令操作问题容器监控三剑客CAdvisorInfluxDBGranfanacompose编排监控工具新建目录创建CIG.yml文件启动docker-compose测试容器监控CAdvisor+InfluxDB+Granfana原生命令操作dockerstats问题通过dockerstats命令可以很方便的看到当......
  • linux系统创建私有容器仓库和docker容器的资源限制
    私有仓库创建和资源限制创建私有仓库docker资源限制系统压力测试工具stresscpu资源限制限制CPUShare限制CPU核数CPU绑定mem资源限制限制IO创建私有仓库上传harbor压缩包解压下载docker-compose进入解压后的目录修改配置文件mvharbor.yml.tmplharbor.ymlv......
  • 在Linux中,哪些命令可以管理系统服务,如启动、停止、重启一个服务?
    在Linux中,管理系统服务涉及到对运行中的进程或后台任务的启动、停止、重启等操作。这些操作通常通过特定的命令和工具来完成。下面详细说明了如何执行这些任务:1.启动服务使用service命令在早期的Linux发行版中,service命令是启动服务的主要方式。例如:service服务名start使......
  • Linux安装JDK
    1.下载OpenJDK2.在/usr/创建java目录,命令mkdir/usr/java3.将OpenJDK复制进/usr/java目录,cpOpenJDK名称/usr/java4.进入/usr/java目录,cd/usr/java5.解压tarxvfOpenJDK名称6.删除OpenJDK包,rmOpenJDK名称,输入y,回车7.配置环境变量,执行vim/etc/profile,输入i编辑,......
  • Linux进程状态
    目录1.R运行状态(running)2.S睡眠状态(sleep)3.T或t状态(stopped或tracingstop)4.Z状态(zombie)(僵尸进程)1.R运行状态(running)并不意味着进程一定在运行中,它表明进程要么是在运行中要么在运行队列里。在CentOS7中,当查看进程状态时,可能会注意到很少看到进程处于状态为"R"(Ru......
  • Linux下安装Docker
    Ubuntu安装Docker环境Ubuntu安装Docker环境的方法,在Linux服务器上运行docker用于开发测试通过Ubuntu自带的apt存储库在安装Docker引擎首次在新主机运行之前,需要更新Dockder存储库,然后你在存储库安装或更新Docker更新Dockerapt存储库sudoapt-getupdatesudoapt-......
  • Linux高可用性方案之Heartbeat安装(高级运维)
    安装Heartbeat前的准备 Heartbeat集群必须的硬件从下图看出,构建一个Heartbeat集群系统必须的硬件设备有:节点服务器;网络和网卡;共享磁盘。节点服务器安装Heartbeat至少需要两台主机,并且对主机的要求不高,普通的PC服务器即可满足要求。当然,也可以在虚拟机上安装Heartbeat,现在Hear......