Linux-基本命令
一.命令提示符
1.Linux 系统的命令提示符
root@localhost ~#
- []:这是提示符的分隔符号,没有特殊含义。
- root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录。
- @:分隔符号,没有特殊含义。
- localhost:当前系统的简写主机名(完整主机名是 localhost.localdomain)。
- ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录。
- #:命令提示符,Linux 用这个符号标识登录的用户权限等级。如果是超级用户,提示符就是 #;如果是普通用户,提示符就是 $。
2.家目录(又称主目录)
Linux 系统是纯字符界面,用户登录后,要有一个初始登录的位置,这个初始登录位置就称为用户的家:
- 超级用户的家目录:/root。
- 普通用户的家目录:/home/用户名。
- 命令cd/cd ~ 都能快速回到家目录
3.命令的基本格式
命令[选项][参数]
命令格式中的 [] 代表可选项,有些命令可以不写选项或参数,也能执行
①.选项的作用,调整命令的功能,显示更加丰富的数据
ls -l
②.参数的作用,参数是命令的操作对象,一般文件、目录、用户、进程都可以是操作对象
ls -l anaconda-ks.cfg
-rw-------.1 root root 1207 1 月 14 18:18 anaconda-ks.cfg
③.为何可以省去参数,因为有默认参数
二、常用基础命令
1.cd命令:Change Directory ,用来切换工作目录
cd [相对路径或绝对路径]
~代表当前登录用户的主目录
# 返回上次所在目录
cd -
# 返回当前目录
cd .
# 返回上级目录
cd ..
# 切换到当前用户目录
cd ~
引申
# 获取当前角色
whoami
# 切换角色
su root
2.pwd命令:Print Working Directory ,显示当前路径
3.ls命令:list,查看目录下文件
ls [选项] 目录名称
# 时间顺序显示
ls -lt
# 时间逆序显示
ls -lrt
# 带单位显示
ls -lh
4.mkdir命令:make directories,创建目录(文件夹)
mkdir [-mp] 目录名
- -m 选项用于手动配置所创建目录的权限,而不再使用默认权限。
- -p 选项递归创建所有目录
# 创建test1文件夹
mkdir test1
# 递归创建所有目录
mkdir -p test2/test3/test4
# 给创建的目录设置权限
mkdir -m 222 test3
5.rmdir命令:remove empty directories,删除空目录 **
rmdir [-p] 目录名
# rm比rmdir更好
# 从最底层删起,这样就保证每层都是空目录
rmdir -p test2/test3/test4
6.touch命令:创建文件
主要是修改时间参数(访问时间,数据修改时间,状态修改时间-文件权限/属性改变)
引申:可用于DockerFile添加jar后,更新为当前时间
touch [选项] 文件名
选项:
- -a:只修改文件的访问时间;
- -c:仅修改文件的时间参数(3 个时间参数都改变),如果文件不存在,则不建立新文件。
- -d:后面可以跟欲修订的日期,而不用当前的日期,即把文件的 atime 和 mtime 时间改为指定的时间。
- -m:只修改文件的数据修改时间。
- -t:命令后面可以跟欲修订的时间,而不用目前的时间,时间书写格式为
YYMMDDhhmm。
# touch 命令创建文件。
# 建立名为 a.txt 的空文件
touch a.txt
7.ln链接
硬链接:一个文件修改,多个文件都会生效
ln 源文件名称 硬链接文件名称
软链接:为某一个文件在另外一个位置建立一个不同的链接
当删了原文件,则软链接就会变成红色字体
ln -s 源文件名称 软链接文件名称
取消链接
# 添加 源文件名称 软链接文件名称
ln -s /usr/jboss4.0.5.GA/ jboss
# 删除 !!!注意!!!血泪教训
# rm -rf xxxx/ 加了个/ 这个是删除文件夹
# rm -rf xxxx 没有/ 这个才是删除软链接
# 小心使用tab补充,多/造成删除数据无法恢复
rm jboss
8.cp命令:copy files and directories,复制文件和目录
cp[选项] 源文件 目标文件
- -a:相当于 -d、-p、-r 选项的集合,这几个选项我们一一介绍;
- -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接;
- -i:询问,如果目标文件已经存在,则会询问是否覆盖;
- -l:把目标文件建立为源文件的硬链接文件,而不是复制源文件;
- -s:把目标文件建立为源文件的软链接文件,而不是复制源文件;
- -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间);
- -r:递归复制,用于复制目录;
- -u:若目标文件比源文件有差异,则使用该选项可以更新目标文件,此选项可用于对文件的升级和备用;
# 复制文件kw到test1文件夹下
cp 源文件 目标文件夹位置
# 复制文件并改名**kw到test2文件夹下并改名为dkw(若存着同名文件夹,则覆盖)
# 其中**复制文件夹改名**需要 -r
cp 源文件 目标文 件夹位置+新名字
# 复制文件夹,递归复制
cp -r 源文件夹位置 目标文件夹位置
9.rm命令:remove files and directories,删除文件或目录
rm[选项] 文件或目录
- -f:强制删除(force),和 -i 选项相反,使用 -f,系统将不再询问,而是直接删除目标文件或目录。
- -i:和 -f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
- -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。
# 递归删除,目录及以下所有内容
rm -r 文件/文件夹
# 防止误删文件/文件夹
rm -ri 文件/文件夹
# 强制删除所有文件和目录
rm -rf 文件/文件夹
10.mv命令:move,移动文件或改名
mv 【选项】 源文件 目标文件
- -f:强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖;
- -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖;
- -n:如果目标文件已经存在,则不会覆盖移动,而且不询问用户;
- -v:显示文件或目录的移动过程;
- -u:若目标文件已经存在,但两者相比,源文件更新,则会对目标文件进行升级
# 文件移动到文件夹
mv 文件 文件夹
# 移动文件夹(文件夹中有文件也不需要-r)
mv 文件夹 文件夹
# 移动文件并改名(可以当前目录,单文件改名)
mv 文件名a 文件名b
# 移动文件夹并改名(可以当前目录,单文件改名)
mv 文件夹名a 文件夹名b
11.Tab补全文件名
12.tar命令&其他:将许多文件一起保存到一个单独的磁带或磁盘中进行归档;从归档文件中还原所需文件
tar [选项] 源文件或目录
.tar.gz 和 .tgz
# 打包:
tar cvf FileName.tar DirName
# 解包:
tar xvf FileName.tar
# 压缩:
tar zcvf FileName.tar.gz DirNam
# 解压:
tar zxvf FileName.tar.gz
# 解压到指定目录
tar zxvf FileName.tar.gz -C ./
报错:
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
# 未使用z命令,导致
tar xvf FileName.tar.gz即可
.gz
# 解压1:
gunzip FileName.gz
# 解压2:
gzip -d FileName.gz
# 压缩:
gzip FileName
.bz2
# 解压1:
bzip2 -d FileName.bz2
# 解压2:
bunzip2 FileName.bz2
# 压缩:
bzip2 -z FileName
.tar.bz2
# 压缩:
tar jcvf FileName.tar.bz2 DirName
# 解压:
tar jxvf FileName.tar.bz2
.bz
# 解压1:
bzip2 -d FileName.bz
# 解压2:
bunzip2 FileName.bz
.tar.bz
# 解压:
tar jxvf FileName.tar.bz
.Z
# 解压:
uncompress FileName.Z
# 压缩:
compress FileName
.tar.Z
# 解压:
tar Zxvf FileName.tar.Z
# 压缩:
tar Zcvf FileName.tar.Z DirName
.rar
# 下载linux包
wegt https://www.rarlab.com/rar/rarlinux-x64-5.8.0.tar.gz
# 解压编译
tar zxvf rarlinux-3.8.0.tar.gz &&
cd rar &&
make &&
make install
# 添加到环境变量;可以不添加,直接全路径执行
# 解压:
rar x FileName.rar
# 压缩:
rar a FileName.rar DirName
13.zip压缩命令
将当前目录下的所有文件和文件夹全部压缩成m.zip文件,-r表示递归压缩子目录下所有文件.
zip -r m.zip ./*
zip解压
# 直接解压到当前目录下
unzip yasuo.zip
# 把myfile.zip文件解压到 /home/sunny/
# -o:不提示的情况下覆盖文件;-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下
unzip -o -d /home/sunny myfile.zip
14.cat命令:concatenate(连接、连续),连接文件并打印输出到标准输出设备
cat [选项] 文件名
cat 命令常用选项及含义
# 显示行号
cat -n 文件名
# 文件12合并成文件3
cat 文件1 文件2>文件3
# 在文件中匹配字符串
cat 路径/文件名 |grep 字符串
# 在文件中匹配字符串前后10行
cat 路径/文件名 |grep 字符串 -A10
cat 路径/文件名 |grep 字符串 -C10
# 统计关键字出现次数
cat XXX.log|grep ''|grep '条件'| wc -l 单个条件统计
15.tail命令:显示文件结尾的内容
# 实时显示最后50行
tail -50f sys.log
16.重定向
# 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,会清空原有数据,再写入新数据。
命令 > 文件
# 将命令执行的标准输出结果重定向输出到指定的文件中,如果该文件已包含数据,新数据将写入到原有内容的后面。
命令 >> 文件
# 将标准输出或者错误输出写入到指定文件,如果该文件中已包含数据,新数据将写入到原有内容的后面。
# 注意,第一种格式中,最后的 2>&1 是一体的,可以认为是固定写法。
命令 >> 文件 2>&1
17.grep(global regular expressions print)命令详解:查找文件内容
grep [选项] 模式 文件名
grep 命令常用选项及含义
# 仅列出文件中包含模式的行数。
-c
# 忽略模式中的字母大小写。
-i
# 列出带有匹配行的文件名。
-l
# 在每一行的最前面列出行号。
-n
# 列出没有匹配模式的行。
-v
# 把表达式当做一个完整的单字符来搜寻,忽略那些部分匹配的行。
-w
# 递归搜索
-r
# 假设有一份 emp.data 员工清单,现在要搜索此文件,找出职位为 CLERK 的所有员工,则执行命令如下:
grep CLERK emp.data
# 而在此基础上,如果只想知道职位为 CLERK 的员工的人数,可以使用“-c”选项,执行命令如下:
grep -c CLERK emp.data
# 搜索 emp.data 文件,使用正则表达式找出以 78 开头的数据行,执行命令如下:
grep ^78 emp.data
正则表达式的通配符
# 将匹配 0 个(即空白)或多个字符 c(c 为任一字符)。
c*
# 将匹配任何一个字符,且只能是一个字符。
.
# 匹配方括号中的任意一个字符。
[xyz]
# 匹配除方括号中字符外的所有字符。
[^xyz]
# 锁定行的开头。
^
# 锁定行的结尾。
$
18.find命令:在目录中查找文件--按照文件名搜索文件,还可按照权限、大小、时间、inode 号等来搜索文件
find 搜索路径 [选项] 搜索内容
find 是比较特殊的命令,它有两个参数:
- 第一个参数用来指定搜索路径;
- 第二个参数用来指定搜索内容。
选项:
- -name: 按照文件名搜索;
- -iname: 按照文件名搜索,不区分文件名大小;
- -inum: 按照 inode 号搜索;
# 在当前目录查找指定文件
find . -name "*.pl"
# 查找当前目录下的普通文件
find . -type f
# 查找权限775
find . -perm 775
# 查找文件
find . -size +/-1k
19.which命令:列出命令的所在路径
# which和 whereis 命令的区别在于:
# 命令可以在查找到二进制命令的同时,查找到帮助文档的位置;
whereis
# 命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
which ls
20.whereis命令:査找二进制命令、源文件和帮助文档
whereis [选项] 命令
- -b: 只査找二制命令;
- -m: 只查找帮助文档;
# 查找命令帮助文档
whereis -m 命令
21.stat命令:显示文件或文件系统的详细信息(访问时间、数据修改时间、状态修改时间)
stat [选项]文件名或目录名
- -f:査看文件所在的文件系统信息,而不是査看文件的信息。
- -a:文件名/文件夹名 显示文件系统的详细信息
22.file命令,查看文件类型
file 文件名 查看文件类型
23.yum命令,在线安装
# 在线安装全是yes
yum -y install 文件
24.rpm命令,安装软件
25.systemctl
提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动**
# 示例mariadb命令
systemctl status mariadb
systemctl start mariadb
systemctl restart mariadb
systemctl stop mariadb
26.chmod 改变文件权限
权限,执行脚本等都需要用到
# 增加用户读权限
chmod u+r
# 增加所有人写权限
chmod a+w
# 增加组执行权限
chmod g+x
# 更改文件权限为rwx-xr-x (r=4 w=2 x=1)值相加
chmod 755 文件名
27.su 切换用户
28.history 历史命令
# 显示历史命令
history
# 删除本次登录执行的命令
history -c
# 情况所有历史命令
在root用户的根目录下找到.history
>.history
29.alias给命令定义别名
取消默认
30.date查看服务器时间
# 服务器时间校准
yum install ntpdate
ntpdate cn.pool.ntp.org
date
# 手动修改服务器时间
date -s 20091103
date -s 17:55:55
31.uptime查看服务器运行时间
32.sz/rz 下载上传
33.scp 远程复制
服务器之间的文件复制
https://www.cnblogs.com/zhwang1216/p/12115842.html
# 将本地服务器文件拷贝到远程服务器
scp /root/install.* root@192.168.1.12:/usr/local/src
# 将远程服务器文件拷贝到本地服务器
scp root@192.168.1.12:/src/1.log /root/
# 将本地服务器文件夹拷贝到远程服务器
scp -r /home/txt1 root@192.168.0.1:/home/test2
# 将远程服务器文件夹拷贝到本地服务器
scp -r root@192.168.0.1:/home/test2 /home/txt1
# 指定远程服务器端口
scp -P 17382 gx_dcms.sql root@192.168.220.184:/data/test/dingkw/sql
34.xargs传递参数
# 示例
docker images | grep '\<${del_imagesi}>'|awk '{print $1":"$2}' |awk 'NR>2'|xargs docker rmi

浙公网安备 33010602011771号