linux 基本命令总结
目录
概述
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 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 3 root root 177 4月 22 13:42 job
drwxr-xr-x 2 root root 6 3月 26 2020 software
ll -a 列出当前目录下所有文件(包括隐藏文件)
[root@KS8P-Test-K8S05 ~]# ll -a
总用量 207264
dr-xr-x---. 7 root root 283 3月 26 2020 .
dr-xr-xr-x. 20 root root 262 4月 22 13:33 ..
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
drwx------. 3 root root 17 10月 30 2019 .ansible
-rw-------. 1 root root 8916 6月 19 11:31 .bash_history
-rw-r--r--. 1 root root 18 12月 29 2013 .bash_logout
-rw-r--r--. 1 root root 256 12月 27 2019 .bash_profile
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
-rw-r--r--. 1 root root 100 12月 29 2013 .cshrc
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
创建重命名文件/文件夹
touch filename 创建空文件,创建空文件hello.txt
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r-- 1 root root 0 10月 9 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 10月 9 13:49 abc
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r-- 1 root root 0 10月 9 13:45 hello.txt
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 3 root root 177 4月 22 13:42 job
drwxr-xr-x 2 root root 6 3月 26 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 10月 9 13:49 abc
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r-- 1 root root 0 10月 9 13:45 hello.txt
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 3 root root 177 4月 22 13:42 job
drwxr-xr-x 2 root root 6 3月 26 2020 software
[root@KS8P-Test-K8S05 ~]# mv abc abx
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x 2 root root 6 10月 9 13:49 abx
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r-- 1 root root 0 10月 9 13:45 hello.txt
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 3 root root 177 4月 22 13:42 job
drwxr-xr-x 2 root root 6 3月 26 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 10月 9 13:49 abx
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r-- 2 root root 0 10月 9 13:45 hello.txt
-rw-r--r-- 2 root root 0 10月 9 13:45 hlink
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 3 root root 177 4月 22 13:42 job
drwxr-xr-x 2 root root 6 3月 26 2020 software
下面的为软链接
想使用软链接,需要添加 -s
ln -s hello.txt vlink
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x 2 root root 6 10月 9 13:49 abx
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
-rw-r--r--. 1 root root 20441795 3月 11 2020 eureka.log
-rw-r--r-- 2 root root 0 10月 9 13:45 hello.txt
-rw-r--r-- 2 root root 0 10月 9 13:45 hlink
-rw-r--r--. 1 root root 191753373 10月 31 2019 jdk-8u191-linux-x64.tar.gz
drwxr-xr-x 3 root root 177 4月 22 13:42 job
drwxr-xr-x 2 root root 6 3月 26 2020 software
lrwxrwxrwx 1 root root 9 10月 9 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 10月 9 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 10月 9 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 10月 9 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 10月 9 16:52 test-bak.txt
-rw-r--r-- 1 root root 0 10月 9 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 10月 9 16:52 abx
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
drwxr-xr-x 2 root root 42 10月 9 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 10月 9 16:52 abx
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
drwxr-xr-x 2 root root 42 10月 9 16:56 xyz
[root@KS8P-Test-K8S05 ~]# mv xyz abx
[root@KS8P-Test-K8S05 ~]# ll
总用量 207228
drwxr-xr-x 3 root root 53 10月 9 16:58 abx
-rw-------. 1 root root 1254 10月 30 2019 anaconda-ks.cfg
[root@KS8P-Test-K8S05 ~]# cd abx
[root@KS8P-Test-K8S05 abx]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 9 16:52 test-bak.txt
-rw-r--r-- 1 root root 0 10月 9 16:52 test.txt
drwxr-xr-x 2 root root 42 10月 9 16:56 xyz
[root@KS8P-Test-K8S05 abx]# cd xyz
[root@KS8P-Test-K8S05 xyz]# ll
总用量 0
-rw-r--r-- 1 root root 0 10月 9 16:56 test-bak.txt
-rw-r--r-- 1 root root 0 10月 9 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 10月 9 16:56 test-bak.txt
-rw-r--r-- 1 root root 0 10月 9 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 10月 9 16:56 test-bak.txt
-rwxr--r-- 1 root root 0 10月 9 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 10月 9 16:58 abx
-rw-r--r-- 2 root root 0 10月 9 13:45 hello.txt
lrwxrwxrwx 1 root root 9 10月 9 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 10月 9 16:58 abx
-rwxrwxrwx 2 root root 0 10月 9 13:45 hello.txt
lrwxrwxrwx 1 root root 9 10月 9 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 10月 9 16:58 abx
-rw-r--r-- 1 root root 216 10月 10 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 10月 10 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 10月 9 16:58 abx
-rw-r--r-- 1 root root 216 10月 10 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
结束
至此结束,后续使用中,再补充。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!