Linux常用基本命令1

简介: Linux常用基本命令

一、常用快捷键

  • ctrl+c: 停止进程
  • ctrl+l: 清屏(之前的内容可以向上查看);彻底清屏是:reset
  • tab: 提示
  • 上下键: 查找执行过的命令

二、文件目录类

1.pwd

显示当前工作目录的绝对路径

2.ls和ll

ll 命令列出的信息更加详细,有时间,是否可读写等信息;ll不是命令,是ls -l的别名

ll会列出该文件下的所有文件信息,包括隐藏的文件;ls 只列出文件名或目录名

(base) [qi@ip--185 q_mcess]$ ll
总用量 3828
-rw-rw-r-- 1 qi qi 1271452 1月  18 02:07 ceshi.gz
drwxrwxr-x 3 qi qi     406 1月  13 06:43 conf
-rw-rw-r-- 1 qi qi     14 1月  13 06:43 __init__.py

ll -t 是降序, ll -t | tac 是升序

(base) [qi@ip-17-185 q_mcess]$ ls
ceshi.gz     proceink.py     run_pog.sh

ls 命令

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
  • -c 输出文件的 i 节点的修改时间,并以此排序。
  • -d 将目录象文件一样显示,而不是显示其下的文件。
  • -i 输出文件的 i 节点的索引信息。
  • -l 列出文件的详细信息。
  • -m 横向输出文件名,并以“,”作分格符。
  • -n 用数字的 UID,GID 代替名称。
  • -o 显示文件的除组信息外的详细信息。
  • -q 用?代替不可输出的字符。
  • -r 对目录反向排序。
  • -s 在每个文件名后输出该文件的大小。
  • -t 以时间排序(以最近修改的日期进行排序)
  • -u 以文件上次被访问的时间排序。
  • -A 显示除 “.”和“…”外的所有文件。
  • -B 不输出以 “~”结尾的备份文件。
  • -L 列出链接文件名而不是链接到的文件。
  • -N 不限制文件长度。
  • -Q 把输出的文件名用双引号括起来。
  • -R 列出所有子目录下的文件。
  • -S 以文件大小排序。
  • -X 以文件的扩展名(最后一个 . 后的字符)排序。
  • -1 一行只输出一个文件。
  • –color=no 不显示彩色文件名
  • –help 在标准输出上显示帮助信息。
  • –version 在标准输出上输出版本信息并退出。

显示彩色目录列表

打开/etc/bashrc, 加入如下一行:

alias ls="ls --color"

下次启动bash时就可以像在Slackware里那样显示彩色的目录列表了, 其中颜色的含义如下:

  • 蓝色–>目录
  • 绿色–>可执行文件
  • 红色–>压缩文件
  • 浅蓝色–>链接文件
  • 灰色–>其他文件

3.cd

语法 cd [dirName]

用于切换当前工作目录;其中 dirName 表示法可为绝对路径或相对路径。

若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, … 则表示目前目录位置的上一层目录,-回到上一次所在目录。

跳到目前目录的上上两层 :
cd ../..

4.mkdir

创建目录,语法:mkdir [-p] dirName

参数说明:

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

实例

在工作目录下,建立一个名为 runoob 的子目录 :

mkdir runoob

在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。

若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)

mkdir -p runoob2/test

5.rmdir

语法 rmdir [-p] dirName

删除空的目录。

参数:

  • -p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

实例

将工作目录下,名为 AAA 的子目录删除 :

rmdir AAA

在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。

rmdir -p BBB/Test

6.touch

创建新文件

7.cp

语法 cp [options] source dest

主要用于复制文件或目录。

参数说明:

  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。

实例

使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

$ cp –r test/ newtest

注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R 。

8.rm

用于删除一个文件或者目录。

9.mv

用来为文件或目录改名、或将文件或目录移入其它位置。

语法

mv [options] source dest

mv 参数设置与运行结果

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

实例

将 info 目录放入 logs 目录中。注意,如果 logs 目录不存在,则该命令将 info 改名为 logs。

mv info/ logs

再如将 /usr/runoob 下的所有文件和目录移到当前目录下,命令行为:

$ mv /usr/runoob/*  .

10.cat

用于连接文件并打印到标准输出设备上。

语法格式 cat [-AbeEnstTuv] [--help] [--version] fileName

参数说明:

  • -n :由 1 开始对所有输出的行数编号。
  • -b :和 -n 相似,只不过对于空白行不编号。
  • -s :当遇到有连续两行以上的空白行,就代换为一行的空白行。

实例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

11.more

以一页一页的形式显示

按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示 。

语法 more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数:

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

常用操作命令

  • Enter 向下1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • q 退出more

12.less

less 支持翻页和搜索,支持向上翻页和向下翻页。

语法:less [参数] 文件

参数说明:

  • -e 当文件显示结束后,自动离开
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • /字符串:向下搜索"字符串"的功能;n:向下查找;N:向上查找
  • ? 字符串:向上搜索"字符串"的功能 ;n:向下查找;N:向上查找
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]:向下翻动一页
  • [pageup]:向上翻动一页

实例

1、ps查看进程信息并通过less分页显示

ps -ef |less

2、查看命令历史使用记录并通过less分页显示

[root@localhost test]# history | less
22  scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft
23  cd ..
24  scp -r web root@192.168.120.203:/opt/
25  cd soft
26  ls
……省略……

3、浏览多个文件

less log2013.log log2014.log

说明:

输入 :n后,切换到log2014.log

输入 :p后,切换到log2013.log

附加备注

1.全屏导航

  • ctrl + F - 向前移动一屏
  • ctrl + B - 向后移动一屏
  • ctrl + D - 向前移动半屏
  • ctrl + U - 向后移动半屏
    2.单行导航
  • j - 下一行
  • k - 上一行
    3.其它导航
  • G - 移动到最后一行
  • g - 移动到第一行
  • q / ZZ - 退出 less 命令
    4.其它有用的命令
  • v - 使用配置的编辑器编辑当前文件
  • h - 显示 less 的帮助文档
  • &pattern - 仅显示匹配模式的行,而不是整个文件
    5.标记导航
    当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
  • ma - 使用 a 标记文本的当前位置
  • 'a - 导航到标记 a 处

13.head

用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。

命令格式:

head [参数] [文件]

参数:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数
  • -n<行数> 显示的行数

显示文件前 20 个字节:

head -c 20 runoob_notes.log

14.tail

tail -F /Ming/log/log._pv.2030

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件]

参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容

例:要显示 notes.log 文件的最后 10 行,请输入以下命令:

tail notes.log # 默认显示最后 10 行

要跟踪名为 notes.log 的文件的增长情况,请输入以下命令:

tail -f notes.log

此命令显示 notes.log 文件的最后 10 行。当将某些行添加至 notes.log 文件时,tail 命令会继续显示这些行。显示一直继续,直到您按下(Ctrl-C)组合键停止显示。

显示文件 notes.log 的内容,从第 20 行至文件末尾:

tail -n +20 notes.log

显示文件 notes.log 的最后 10 个字符:

tail -c 10 notes.log

15.> 覆盖 和 >> 追加

echo “内容” >> 文件

1 将history命令执行的结果保存到history.log文件中

# history > history.log

2 使用 >> 向 hosts.log中追加 当前日期

# echo "当前日期是 `date`" >> hosts.log

16.history

查看已经执行过的命令

三、时间日期类

1.date

date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

date 可以用来显示或设定系统的日期与时间。

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: %

%H : 小时(00…23)

%M : 分钟(00…59)

%p : 显示本地 AM 或 PM

%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)

%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数

%S : 秒(00…61)

%T : 直接显示时间 (24 小时制)

%X : 相当于 %H:%M:%S

%Z : 显示时区

%a : 星期几 (Sun…Sat)

%A : 星期几 (Sunday…Saturday)

%b : 月份 (Jan…Dec)

%B : 月份 (January…December)

%c : 直接显示日期与时间

%d : 日 (01…31)

%D : 直接显示日期 (mm/dd/yy)

%j : 一年中的第几天 (001…366)

%m : 月份 (01…12)

%U : 一年中的第几周 (00…53) (以 Sunday 为一周的第一天的情形)

%w : 一周中的第几天 (0…6)

%W : 一年中的第几周 (00…53) (以 Monday 为一周的第一天的情形)

%x : 直接显示日期 (mm/dd/yy)

%y : 年份的最后两位数字 (00.99)

%Y : 完整年份 (0000…9999)

2.加减

date +%Y%m%d //显示现在天年月日

date +%Y%m%d --date="+1 day" //显示后一天的日期

date +%Y%m%d --date="-1 day" //显示前一天的日期

date +%Y%m%d --date="-1 month" //显示上一月的日期

date +%Y%m%d --date="+1 year" //显示下一年的日期

或者更简单点的 date=date -d -${t}day '+%Y%m%d' //为t为前几天

YMD=$(date -d"-1 days" +%Y%m%d -u) #前一天

转换成时间戳:$ date +%s -d 20211220

1639958400

转换成日期:$ date -d @1639958400

2021年 12月 20日 星期一 00:00:00 UTC

2.cal

查看日历

四、文件权限类

1.文件属性

在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组。

(base) q@MacBook-Pro PycharmProjects % ls -l
total 0
drwxr-xr-x   7 q  staff  224  1 25 17:40 pythonProject
drwxr-xr-x   6 q  staff  192  1 27 15:55 qini
drwxr-xr-x@ 24 q  staff  768  1 25 17:40 人工智能

如果没有权限,就会出现减号[ - ]。

在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等

  • -代表文件
  • d 代表目录
  • l 链接文档(link file)

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

1698845209214.jpg


rxw 作用文件和目录的不同解释

(1)作用到文件:

  • [ r ]代表可读(read): 可以读取,查看
  • [ w ]代表可写(write): 可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
  • [ x ]代表可执行(execute):可以被系统执行

(2)作用到目录:

  • [ r ]代表可读(read): 可以读取,ls 查看目录内容
  • [ w ]代表可写(write): 可以修改,目录内创建+删除+重命名目录
  • [ x ]代表可执行(execute):可以进入该目录


1698845224522.jpg

其中链接数:

  • 如果查看到是文件:链接数指的是硬链接个数。
  • 如果查看的是文件夹:链接数指的是子文件夹个数(包括隐藏文件夹,使用 ll -a 查 看)。


相关文章
|
2天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
2天前
|
监控 Linux 数据处理
|
2天前
|
编解码 Ubuntu Linux
|
2天前
|
JSON Linux 数据格式
Linux命令发送http
请注意,`curl`命令非常灵活,可以根据您的需求进行多种配置和自定义。您可以查看 `curl`命令的文档以获取更多详细信息。
7 0
|
3天前
|
安全 Linux 测试技术
|
4天前
|
安全 Linux Windows
Linux中Shutdown命令使用介绍
Linux中Shutdown命令使用介绍
10 2
|
4天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
4天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器
|
4天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
17 0
|
4天前
|
安全 Linux Shell
linux基础命令详解
linux基础命令详解
12 0