Linux常用基础命令❀(上)

简介: Linux常用基础命令❀(上)

ls命令



1.ls (list) 列出目录下的内容


-help 查看帮助文档
-a (all) 查看所有内容包括隐藏文件
-h  以人类可读方式显示
-l  以长格式显示文件信息
-d 查看目录本身
-S 由大到小排序
-r 由小到大排序
-t 由新到旧


ls 命令可以说是linux下最常用的命令之一。


-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

-c 输出文件的 i 节点的修改时间,并以此排序。

-d 将目录象文件一样显示,而不是显示其下的文件。

-e 输出时间的全部信息,而不是输出简略信息。

-f -U 对输出的文件不排序。

-g 无用。

-i 输出文件的 i 节点的索引信息。

-k 以 k 字节的形式表示文件的大小。

-l 列出文件的详细信息。

-m 横向输出文件名,并以“,”作分格符。

-n 用数字的 UID,GID 代替名称。

-o 显示文件的除组信息外的详细信息。

-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套

接字(sockets)。

-q 用?代替不可输出的字符。

-r 对目录反向排序。

-s 在每个文件名后输出该文件的大小。

-t 以时间排序。

-u 以文件上次被访问的时间排序。

-x 按列输出,横向排序。

-A 显示除 “.”和“..”外的所有文件。

-B 不输出以 “~”结尾的备份文件。

-C 按列输出,纵向排序。

-G 输出文件的组的信息。

-L 列出链接文件名而不是链接到的文件。

-N 不限制文件长度。

-Q 把输出的文件名用双引号括起来。

-R 列出所有子目录下的文件。

-S 以文件大小排序。

-X 以文件的扩展名(最后一个 . 后的字符)排序。

-1 一行只输出一个文件。


–color=no 不显示彩色文件名

–help 在标准输出上显示帮助信息。

–version 在标准输出上输出版本信息并退出。


只列出子目录

1. ls -F | grep /”(linux)

2. ls -l | grep “^d” 或者 ls -lL | grep “^d” (Solaris)        


cd命令



语法格式:cd [参数] [目录名]

常用参数:


-L

切换至符号链接所在的目录

-P 切换至符号链接对应的实际目录
cd - 切换至上次所在目录
cd ~ 切换至用户家目录
cd .. 切换至当前位置的上一级目录


切换到指定目录:

[root@linuxcool ~]# cd /Dir
[root@linuxcool Dir]#


切换至当前用户的家目录:

[root@linuxcool Dir]# cd ~
[root@linuxcool ~]#


进入到上一级所在目录:

[root@linuxcool ~]# cd ..
[root@linuxcool /]#


返回到上一次所在目录:

[root@linuxcool /]# cd - /root
[root@linuxcool ~]#


❀pwd命令



pwd-----显示当前工作目录的路径

语法格式:pwd【参数】

常用参数:


-L 显示逻辑路径
-P 显示实际物理地址
--help 显示帮助信息
--version 显示版本信息


参考:

[root@linuxcool ~]# pwd

/root


❀date命令



date 查看系统时间和日期 (+%Y-%m-%d %H:%M:%S)
date     +%F 只显示当前年月日
date     +%X

只显示当前时间到秒


使用“+”开头的字符串指定其格式

%H 小时(以00-23来表示)。

%I 小时(以01-12来表示)。

%K 小时(以0-23来表示)。

%l 小时(以0-12来表示)。

%M 分钟(以00-59来表示)。

%P AM或PM。

%r 时间(含时分秒,小时以12小时AM/PM来表示)。

%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。

%S 秒(以本地的惯用法来表示)。

%T 时间(含时分秒,小时以24小时制来表示)。

%X 时间(以本地的惯用法来表示)。

%Z 市区。

%a 星期的缩写。

%A 星期的完整名称。

%b 月份英文名的缩写。

%B 月份的完整英文名称。

%c 日期与时间。只输入date指令也会显示同样的结果。

%d 日期(以01-31来表示)。

%D 日期(含年月日)。

%j 该年中的第几天。

%m 月份(以01-12来表示)。

%U 该年中的周数。

%w 该周的天数,0代表周日,1代表周一,异词类推。

%x 日期(以本地的惯用法来表示)。

%y 年份(以00-99来表示)。

%Y 年份(以四位数来表示)。

%n 在显示时,插入新的一行。

%t 在显示时,插入tab。

MM 月份(必要)

DD 日期(必要)

hh 小时(必要)

mm 分钟(必要)

ss 秒(选择性)


❀创建、删除文件和目录命令



创建文件:

touch  创建文件或者更新文件时间戳
stat 查看文件信息(stat后面加文件名)
[root@qfedu ~]# touch file1.txt  #无则创建,如果存在修改时间
[root@qfedu ~]# touch /home/file10.txt
[root@qfedu ~]# touch /home/{zhuzhu,gougou} #{}集合
[root@qfedu ~]# touch /home/file{1..20}  #批量创建


创建目录:


语法:mkdir -v 详细 -p 递归 目录

mkdir  创建一个新的目录
-v(详细) 为每个创建的目录打印一条消息(在mkdir后面加-v和目录名)
-p (递归)  如果存在,就

不会创建,如果不存在,就会创建父目录(例如:mkdir -pv dir1/dir2/dir3)


{1…100} 批量创建表示1到100


# mkdir dir1
创建两个目录:
# mkdir /home/dir2 /home/dir3
# mkdir /home/{dir4,dir5} 
# mkdir -v /home/{dir6,dir7}   #-v :verbose 冗长的。显示创建时的详细信息
# mkdir -p /home/dir8/111/222  #-p 创建连级目录,一级一级的创建


删除文件或目录:

删除 rm -r 递归删除目录 -f force强制 -v 详细过程 *通配符:

rm    删除文件
-r     删除目录(rm -r 目录名)
-f     忽略提示,直接强制删除



实例1:删除/home/dir1

# cd /home/
# rm -rf dir1/
-r 递归,删除目录时
-f force强制
-v 详细过程


示例2:

[root@qfedu ~]# mkdir /home/dir10
[root@qfedu ~]# touch /home/dir10/{file2,file3,.file4}
[root@qfedu ~]# rm -rf /home/dir10/*  //不包括隐藏文件
[root@qfedu ~]# ls /home/dir10/ -a 
.  ..  .file4


示例3:

[root@qfedu ~]# touch {1..10}.txt
[root@qfedu ~]# touch file{1..20}.txt  #创建file1-10的txt文件
[root@qfedu ~]# rm -rf file1*


文件基本信息


时间类型

访问时间:atime,查看内容

修改时间:mtime,修改内容

改变时间:ctime,文件属性,比如权限,mv改名


查询示例

1. [root@qfedu ~]# ls -l passwd 
2. -rw-r--r--. 1 root root 839 Oct 31 21:29 passwd


[root@qfedu ~]# stat passwd 
  File: ‘passwd’
  Size: 839         Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 33583688    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2019-10-31 21:29:40.750993492 +0800
Modify: 2019-10-31 21:29:36.449993550 +0800
Change: 2019-10-31 21:29:36.452993550 +0800
 Birth: -

ls -l 文件名 仅看的是文件的修改时间


alias命令



alias 别名(例如:a=”rm -r“好比如rm -r)


alias 取消别名(unalias 别名)



alias实战:

查看别名:

[root@qfedu.com ~]# type -a ll

ll is aliased to `ls -l --color=auto'

设置别名:

语法:alias 别名='命令'

[root@qfedu.com ~]# alias ddd='df -Th'

[root@qfedu.com ~]# alias ddd

alias ddd='df -Th'

[root@qfedu.com ~]# ddd

Filesystem              Type      Size  Used Avail Use% Mounted on

/dev/mapper/centos-root xfs        17G  1.1G   16G   7% /

devtmpfs                devtmpfs  478M     0  478M   0% /dev

tmpfs                   tmpfs     489M     0  489M   0% /dev/shm

tmpfs                   tmpfs     489M  6.7M  482M   2% /run

tmpfs                   tmpfs     489M     0  489M   0% /sys/fs/cgroup

/dev/sda1               xfs      1014M  125M  890M  13% /boot

tmpfs                   tmpfs      98M     0   98M   0% /run/user/0

取消别名:

[root@qfedu.com ~]# unalias ddd

[root@qfedu.com ~]# ddd

-bash: ddd: command not found


❀复制、移动、重命名、查看(文件、目录)命令



         mv 移动或重命名


mv  原路径   目标路径

mv  原文件名    要修改的文件名

7`EXMMR~~6H7R%IN2ZI@([U.png

cp 【选项】 原路径   目标路径

cat 查看文件内容
-n 带行号
tac 查看倒过来的文件内容
nl 带行号显示文件内容,不显示空格行



more
分页(回车是一行,空格是一页,q退出)
less 可以上下查看内容
head .默认查看前十行
tail 默认看后十行
-n 指定查看几行
-f 持续观察查看


tail -f 文件名 【一般用来持续查看文件,比如查看日志或者是启动一个程序输出的结果】

简化:

tailf 文件名


❀find查找、wc统计命令



find 按条件查找文件

find 查找范围(默认是当前目录) 条件



-size     按大小查找(例如:find / -size +1M(查找大于1M))
-type     按类型查找(例如:find / -name ".cfg" -type f(查找名字是.cfg的和类型为f的管道文件) )

-name    
按名字查找(例如:find / -name ".cfg"(查找名字是.cfg的文件))

-mtime +天数    
按天数查找(例如:find /application/log/ -mtime +0 -type d (查找/application/log下一天前的日志,类型为目录))

管道 |  

 将前一个命令的执行结果给后一个命令处理(例如:head -3 anaconda-ks.cfg)


删除系统中所有a.txt文件

rm -rf $(find / -name “a.txt”)
find / -name “a.txt” -exec rm -rf {} \
find / -name “a.txt” |xargs rm -rf

删除/application/log/下的一天前的日志并设置为每周一删除,类型为目录

0 0 * * 1 find /application/log/ -mtime +0 -type d | xargs rm -rf

wc   统计(后面直接跟文件名)
-l     统计行数
-w     统计单词
-c     统计字节
-m     统计字符


❀vi/vim命令



1、打开文件

[root@qfedu.com ~]# vim   文件名


2、工作模式

vi与vim的四个模式

54121137bf9097730b1c014888bd60c5.png


进入编辑模式

i       #在光标所在处进入编辑模式

a       #在当前光标后面进入编辑模式

o       #在光标的下一行进入编辑模式

I       #在光标所在处行首进入编辑模式

A       #在光标所在处行尾进入编辑模式

O       #在光标的上一行进入编辑模式


# 从编辑模式进入命令模式:ESC


命令模式


光标定位键盘:

0 $         #行首行尾

gg          #页首--文本顶端

G(shift+g)  #页尾--文本底部

3G           #进入第三行

/string     #查找字符,n下一个,N上一个    (n N 可以循环的)


文本编辑


yy      #复制

3yy     #从光标开始复制3行。在最后粘贴

ygg     #从当前光标复制到页首

yG      #从光标开始复制到页尾

dd      #删除一行

3dd     #从光标开始删除3行

dgg     #从光标开始删除到页首  

dG      #从光标开始删除到页尾

d^      #删除当前光标之前的内容

p       #粘贴到本行的下一行

大P      #粘贴到本行的上一行

x       #删除光标所在的字符

D       #从光标处删除到行尾

u       #undo撤销

r       #可以用来修改一个字符


扩展命令(尾行)模式:


shift+:    #进入尾行模式(扩展命令模式)

:10        #进入第10行

:w         #保存

:q         #退出

:wq        #保存并退出

:q!        #不保存并退出

:wq! 强制保存退出


进入其他模式


ctrl+v     #进入可视块模式

shift+v    #进入可视行模式


查找替换


语法----> :范围 s/old/new/选项

:s/world/nice/         #替换当前光标所在行

:3s/sbin/nice/         #替换指定行

:1,5 s/nologin/soso/   #从1-5行的nologin 替换为soso

:%s/bin/soso/          #替换所有行

:%s/sbin/nice/g        #替换行内所有关键字


注释:%表示替换所有行  g表示行内所有关键字


将文件另存(另存为)

语法----> :w 存储到当前文件

:w /tmp/aaa.txt    #另存为/tmp/aaa.txt

:1,3 w /tmp/2.txt  #从1-3行的内容另存为/tmp/2.txt


设置环境 :

:set nu    #设置行号

:set list  #显示控制字符

:set nonu  #取消设置行号


❀压缩与解压缩



gzip与gunzip

1-9 9最大 生成文件小,速度越慢

gunzip=gzip -d

压缩:gzip 原文件 文件名

解压缩:gunzip 原文件 文件名


bzip2与bunzip2

bunzip2=bzip2 -d

压缩:bzip2 原文件 文件名

解压缩:bunzip2 原文件 文件名


tar的压缩与解压缩

tar    制作或释放归档文件
-c     create 创建
-v     显示详细信息
-j     掉用bzip2压缩格式
-z     掉用gzip压缩格式
-f     指定归档文件
-x     解包
-t     列出归档文件内容
-C    

指定释放归档文件的路径


–exclude=“”指定排除不需要传输的文件模式

比如:tar -cvzf bash.tar.gz /dir1 --exclude=“*.txt” 排除所有以.txt为后缀的文件不传输

一般常用的压缩与解压缩

压缩:tar cvf 原文件 文件名

解压缩:tar xvf 原文件 文件名


file(压缩包名)可以查看这个文件是否是压缩包和类型

相关文章
|
24天前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
52 8
|
24天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
149 6
|
25天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
65 3
|
25天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
61 2
|
6天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
32 14
Linux 10 个“who”命令示例
|
15天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
30 9
|
1月前
|
缓存 监控 Linux
|
13天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
19天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
59 3
|
24天前
|
存储 运维 Linux
如何在 Linux 系统中使用 envsubst 命令替换环境变量?
`envsubst` 是 Linux 系统中用于替换文本中环境变量值的实用工具。本文分三部分介绍其工作原理、使用方法及实际应用,包括配置文件替换、脚本执行中环境变量替换和动态生成文件等场景,帮助用户高效利用 `envsubst` 进行开发和运维工作。
39 4