linux 基本命令总结

发布时间:2023年12月20日

概述

linux基本命令及使用

文件查看

pwd 列出当前目录的路径,查看当前所在的路径,注意:~表示是用户家目录,目前登录的是root用户,root用户的家目录是/root

[root@KS8P-Test-K8S05 ~]# pwd
/root

ls 列出当前目录下的所有文件

[root@KS8P-Test-K8S05 ~]# ls
anaconda-ks.cfg  eureka.log  jdk-8u191-linux-x64.tar.gz  job  software

ll(ls -l缩写)列出妆前目录下的文件(带文件信息)

[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--. 1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x  3 root root       177 422 13:42 job
drwxr-xr-x  2 root root         6 326 2020 software

ll -a 列出当前目录下所有文件(包括隐藏文件)

[root@KS8P-Test-K8S05 ~]# ll -a
总用量 207264
dr-xr-x---.  7 root root       283 326 2020 .
dr-xr-xr-x. 20 root root       262 422 13:33 ..
-rw-------.  1 root root      1254 1030 2019 anaconda-ks.cfg
drwx------.  3 root root        17 1030 2019 .ansible
-rw-------.  1 root root      8916 619 11:31 .bash_history
-rw-r--r--.  1 root root        18 1229 2013 .bash_logout
-rw-r--r--.  1 root root       256 1227 2019 .bash_profile
-rw-r--r--.  1 root root       176 1229 2013 .bashrc
-rw-r--r--.  1 root root       100 1229 2013 .cshrc
-rw-r--r--.  1 root root  20441795 311 2020 eureka.log
-rw-r--r--.  1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz

创建重命名文件/文件夹

touch filename 创建空文件,创建空文件hello.txt

[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--  1 root root         0 109 13:45 hello.txt

mkdir -p 目标目录存在也不会报错
当在创建目录时不确定这个目录是否已经存在的时候,可以使用-p参数 ,就算目录存在也不会报错,如果不指定-p参数会报错,会提示目录已存在

[root@KS8P-Test-K8S05 ~]# mkdir -p abc
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root         6 109 13:49 abc
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--  1 root root         0 109 13:45 hello.txt
-rw-r--r--. 1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x  3 root root       177 422 13:42 job
drwxr-xr-x  2 root root         6 326 2020 software
[root@KS8P-Test-K8S05 ~]# mkdir abc
mkdir: 无法创建目录"abc": 文件已存在

mv 重命名文件/文件夹
修改目录abc的名称为abx

[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root         6 109 13:49 abc
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--  1 root root         0 109 13:45 hello.txt
-rw-r--r--. 1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x  3 root root       177 422 13:42 job
drwxr-xr-x  2 root root         6 326 2020 software
[root@KS8P-Test-K8S05 ~]# mv abc abx
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root         6 109 13:49 abx
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--  1 root root         0 109 13:45 hello.txt
-rw-r--r--. 1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x  3 root root       177 422 13:42 job
drwxr-xr-x  2 root root         6 326 2020 software

链接文件

linux有两种链接:硬链接,版本号(软)链接
软链接功能类似于windows的快捷方式,主要用于节省磁盘空间
硬链接:硬链接相当于对原始文件的一个复制,不能对目录使用硬链接

# 硬链接
[root@KS8P-Test-K8S05 ~]# ln hello.txt hlink
[root@KS8P-Test-K8S05 ~]# ls
abx  anaconda-ks.cfg  eureka.log  hello.txt  hlink  jdk-8u191-linux-x64.tar.gz  job  software
[root@KS8P-Test-K8S05 ~]# cat hlink
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root         6 109 13:49 abx
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--  2 root root         0 109 13:45 hello.txt
-rw-r--r--  2 root root         0 109 13:45 hlink
-rw-r--r--. 1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x  3 root root       177 422 13:42 job
drwxr-xr-x  2 root root         6 326 2020 software

下面的为软链接
想使用软链接,需要添加 -s
ln -s hello.txt vlink

[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root         6 109 13:49 abx
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root  20441795 311 2020 eureka.log
-rw-r--r--  2 root root         0 109 13:45 hello.txt
-rw-r--r--  2 root root         0 109 13:45 hlink
-rw-r--r--. 1 root root 191753373 1031 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x  3 root root       177 422 13:42 job
drwxr-xr-x  2 root root         6 326 2020 software
lrwxrwxrwx  1 root root         9 109 14:10 vlink -> hello.txt

切换目录

cd . 当前目录 一个.表示当前目录

[root@KS8P-Test-K8S05 ~]# cd .
[root@KS8P-Test-K8S05 ~]# pwd
/root

cd … 去上一级目录 两个 …表示上一级目录

[root@KS8P-Test-K8S05 ~]# pwd
/root
[root@KS8P-Test-K8S05 ~]# cd ..
[root@KS8P-Test-K8S05 /]# pwd
/

cd / 去根目录
通过在cd后面指定目录,可以切换到指定目录

[root@KS8P-Test-K8S05 ~]# cd /
[root@KS8P-Test-K8S05 /]# cd /bin
[root@KS8P-Test-K8S05 bin]# pwd
/bin

cd ~ 去当前用户主(家)目录

[root@KS8P-Test-K8S05 bin]# cd ~
[root@KS8P-Test-K8S05 ~]# pwd
/root

cd xxx/xx 直接跳转到某个目录

[root@KS8P-Test-K8S05 ~]# cd abx/test
[root@KS8P-Test-K8S05 test]# pwd
/root/abx/test

删除文件/文件夹(目录)

rm 命令可以删除文件或者目录,也可以将某个目录及其下属的所有文件及其子目录均删除
对于链接文件,只是删除整个链接文件,原有文件保持不变
常见用法:
rm 删除文件
删除文件,但是会有提示确认对话,输入y确认删除

[root@KS8P-Test-K8S05 test]# touch abc.txt
[root@KS8P-Test-K8S05 test]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:00 abc.txt
[root@KS8P-Test-K8S05 test]# rm abc.txt 
rm:是否删除普通空文件 "abc.txt"?y
[root@KS8P-Test-K8S05 test]# ll
总用量 0

rm -r 删除目录,需要确认
删除目录需要指定r参数,否则会提示不能删除
r是给rm加入递归(recursion)特性,也就是目标为文件夹时删除文件夹下所有数据
使用rm -r在删除目录的进修也会有提示确认对话,输入y确认删除

[root@KS8P-Test-K8S05 test]# cd ..
[root@KS8P-Test-K8S05 abx]# ls
test
[root@KS8P-Test-K8S05 abx]# rm test
rm: 无法删除"test": 是一个目录
[root@KS8P-Test-K8S05 abx]# rm -r test
rm:是否删除目录 "test"?y
[root@KS8P-Test-K8S05 abx]# ls

rm -f 强制删除
f给rm加入强制(force)特性,遇到删除时不需要询问即可直接删除
注意:这样操作还是比较危险的,慎用,删除之后就找不到了,linux系统是没有回收站的

[root@KS8P-Test-K8S05 abx]# touch test.txt
[root@KS8P-Test-K8S05 abx]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:48 test.txt
[root@KS8P-Test-K8S05 abx]# rm -f test.txt 
[root@KS8P-Test-K8S05 abx]# ll
总用量 0

rm -rf 递归删除目录及其文件
linux中最危险的操作,最具破坏性(不做例子)

复制/粘贴/剪切

常见的用法:
cp 复制 & 粘贴文件
复制test.txt,复制后的文件名为test-bak.txt

[root@KS8P-Test-K8S05 abx]# touch test.txt
[root@KS8P-Test-K8S05 abx]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:52 test.txt
[root@KS8P-Test-K8S05 abx]# cp test.txt test-bak.txt
[root@KS8P-Test-K8S05 abx]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:52 test-bak.txt
-rw-r--r-- 1 root root 0 109 16:52 test.txt

cp -r 复制&粘贴文件或目录
复制目录,需要指定r参数

[root@KS8P-Test-K8S05 ~]# cp abx xyz
cp: 略过目录"abx"
[root@KS8P-Test-K8S05 ~]# cp -r abx xyz
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root        42 109 16:52 abx
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
drwxr-xr-x  2 root root        42 109 16:56 xyz
[root@KS8P-Test-K8S05 ~]# cd xyz
[root@KS8P-Test-K8S05 xyz]# ls
test-bak.txt  test.txt

mv 移动(剪切)文件或目录
将目录xyz移动到目录abx下面

[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  2 root root        42 109 16:52 abx
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
drwxr-xr-x  2 root root        42 109 16:56 xyz
[root@KS8P-Test-K8S05 ~]# mv xyz abx
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  3 root root        53 109 16:58 abx
-rw-------. 1 root root      1254 1030 2019 anaconda-ks.cfg
[root@KS8P-Test-K8S05 ~]# cd abx
[root@KS8P-Test-K8S05 abx]# ll
总用量 0
-rw-r--r-- 1 root root  0 109 16:52 test-bak.txt
-rw-r--r-- 1 root root  0 109 16:52 test.txt
drwxr-xr-x 2 root root 42 109 16:56 xyz
[root@KS8P-Test-K8S05 abx]# cd  xyz
[root@KS8P-Test-K8S05 xyz]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:56 test-bak.txt
-rw-r--r-- 1 root root 0 109 16:56 test.txt

文件属性

在这里插入图片描述
黑带七段

  • 第一段:权限,第一个字母代表文件(-),目录(d),链接(l),其余三个字符每3个一组(rwx),读?写(w) 执行(x);第一组:文件所有者的权限是读,写和执行,第二组:与文件所有者同一组用户的权限;第三组:不与文件所有者同组的其他用户的权限;也可以用数字表示:r=4,w=2,x=1,权限6可以表示为r+w=6
  • 第二段:目录/链接个数;对于目录文件,表示它的第一级子目录的个数(注意:此处的值要减2才等于该目录下的子目录的实际个数;默认包含.和…这两个目录);其它文件默认为1
  • 第三段:所属用户
  • 第四段:所属组
  • 第五段:文件大小(字节)
  • 第六段:最后修改时间
  • 第七段:文件/文件夹名称

chmod分配权限

常见用法:
chmod u+x xxx.txt 给当前所有者添加执行权限(x:代表执行者权限)

[root@KS8P-Test-K8S05 xyz]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:56 test-bak.txt
-rw-r--r-- 1 root root 0 109 16:56 test.txt
[root@KS8P-Test-K8S05 xyz]# chmod u+x test.txt 
[root@KS8P-Test-K8S05 xyz]# ll
总用量 0
-rw-r--r-- 1 root root 0 109 16:56 test-bak.txt
-rwxr--r-- 1 root root 0 109 16:56 test.txt

chmod 777 xxx.txt 添加rwxrwxrwx权限
给hello.txt添加777权限

[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  3 root root        53 109 16:58 abx
-rw-r--r--  2 root root         0 109 13:45 hello.txt
lrwxrwxrwx  1 root root         9 109 14:10 vlink -> hello.txt
[root@KS8P-Test-K8S05 ~]# chmod 777 hello.txt 
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x  3 root root        53 109 16:58 abx
-rwxrwxrwx  2 root root         0 109 13:45 hello.txt
lrwxrwxrwx  1 root root         9 109 14:10 vlink -> hello.txt

chmod -R 777 xxx 给指定目录递归添加rwxrwxrwx权限
给abx目录及其子目录中的所有内容添加777权限(一般不会这么做)

内容查看

cat 显示文本内容,类似windows中的type(顺序输出)

[root@KS8P-Test-K8S05 ~]# cat anaconda-ks.cfg 
#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media

cat -b 显示行号输出

[root@KS8P-Test-K8S05 ~]# cat -b anaconda-ks.cfg 
     1  #version=DEVEL
     2  # System authorization information
     3  auth --enableshadow --passalgo=sha512
     4  # Use CDROM installation media
     5  cdrom
     6  # Use graphical install

分屏显示 more
用一次显示一屏,没有显示时最后一行显示进度,回车显示下一行,按b显示上一页,空格显示 下一页,q退出;根据当前屏幕大小显示一屏内容

压缩/解压

常见的压缩:压缩和解压
参数:
-z是否同是具有gzip的属性,即是否需要用gzip压缩
-c创建一个压缩文件的参数指令(create)
-x解开一个压缩文件的参数指令
-v压缩的过程中显示文件
-f使用档案名字,这个参数是最后一个参数 ,后面只能接档案名称
注意:在参数的下达中,c/x仅能存在一个,不可同时存在
压缩:
tar -zcvf 打包及压缩(gzip方式)
将abx目录的内容打包压缩为abx.tar.gz

[root@KS8P-Test-K8S05 ~]# tar -zcvf abx.tar.gz abx
abx/
abx/test.txt
abx/test-bak.txt
abx/xyz/
abx/xyz/test.txt
abx/xyz/test-bak.txt
[root@KS8P-Test-K8S05 ~]# ll
总用量 207232
drwxr-xr-x  3 root root        53 109 16:58 abx
-rw-r--r--  1 root root       216 1010 10:23 abx.tar.gz

解压:
tar -zxvf 解压(gzip包)
先将abx.tar.gz 移动到test目录下,再解压

[root@KS8P-Test-K8S05 ~]# cd test/
[root@KS8P-Test-K8S05 test]# ls
[root@KS8P-Test-K8S05 test]# mv ../abx.tar.gz 
mv: 在"../abx.tar.gz" 后缺少了要操作的目标文件
Try 'mv --help' for more information.
[root@KS8P-Test-K8S05 test]# mv ../abx.tar.gz .
[root@KS8P-Test-K8S05 test]# ll
总用量 4
-rw-r--r-- 1 root root 216 1010 10:23 abx.tar.gz
[root@KS8P-Test-K8S05 test]# tar -zxvf abx.tar.gz 
abx/
abx/test.txt
abx/test-bak.txt
abx/xyz/
abx/xyz/test.txt
abx/xyz/test-bak.txt
[root@KS8P-Test-K8S05 test]# ll
总用量 4
drwxr-xr-x 3 root root  53 109 16:58 abx
-rw-r--r-- 1 root root 216 1010 10:23 abx.tar.gz

输出及显示

echo:将内容输出到设备,类似java里面的System.out.println()
常见用法:
echo “hello\t\tworld!” 不解析转义字符(该命令发现叹号!在linux中有特殊的定义,可以用来执行历史的命令或者当做逻辑否定等方式来使用,使用单引号就可解决)
echo -e “heoll\t\tworld!” 解析转义字符
echo $PATH 输出环境变量
注意:在打印变量信息的时候,使用echo ${PATH}也可以,效果是一样的

[root@KS8P-Test-K8S05 ~]# cat hello.txt 
[root@KS8P-Test-K8S05 ~]# echo "hello\t\tworld!"
-bash: !": event not found
[root@KS8P-Test-K8S05 ~]# echo 'hello\t\t world!'
hello\t\t world!
[root@KS8P-Test-K8S05 ~]# echo -e 'hello\t\t world!'
hello            world!
[root@KS8P-Test-K8S05 ~]# echo $PATH
/usr/local/java/jdk1.8.0_191/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

软件安装和卸载

第一种:压缩包安装方式,直接解压,配置相应的环境变量即可使用
第二种:在线安装,使用yum
yum集成了连接网络,软件安装,删除,更新等功能,yum在配置好repo,机器只要连网,就能智能化安装软件,使用yum安装的好处在于可以自动安装软件需要的依赖包
安装 yum install -y
升级 yum update 不跟则更新全部
查找和显示 yum info 显示包信息 yum list 不跟则显示已安装或可安装包
删除程序 yum remove
清除缓存 yum clean all 清除所有缓存(包含文件/旧软件)

磁盘使用情况

使用df命令查看硬盘使用情况
查看磁盘使用情况

[root@KS8P-Test-K8S05 ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   36G  2.6G   34G    8% /
devtmpfs                 3.9G     0  3.9G    0% /dev
tmpfs                    3.9G     0  3.9G    0% /dev/shm
tmpfs                    3.9G   89M  3.8G    3% /run
tmpfs                    3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/sda1               1014M  145M  870M   15% /boot
/dev/mapper/centos-home   18G   33M   18G    1% /home
tmpfs                    783M     0  783M    0% /run/user/0

查看内存使用情况
free 查看内存和交换空间的使用情况
常见用法:
free -m:显示内存单位为MB
free -h:根据值的大小,显示易于识别的单位

[root@KS8P-Test-K8S05 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7821        7551         147          12         122          54
Swap:          6143        5291         852
[root@KS8P-Test-K8S05 ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           7.6G        7.4G        147M         12M        122M         54M
Swap:          6.0G        5.2G        852M

关机重启快捷命令

关机 shutdown -h now
重启 reboot -h now
退出当前登录状态 exit

结束

至此结束,后续使用中,再补充。

文章来源:https://blog.csdn.net/2301_79691134/article/details/135079609
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。