Linux基础命令(详细版)

Linux基础命令(详细版),第1张

概述本博文包含以下命令的使用方法: locale(语言相关) date(日期相关) cal(日历) bc(计算机) --help(help命令帮助) man(man手册帮助) cd(切换目录) pwd(显示当前工作路径) mkdir(创建文件夹) rmdir(删除空文件夹) ls(查看目录下内容) cp(复制) rm(删除) mv(移动) cat(查看文件内容) head(查看文件开头几行) tail

本博文包含以下命令的使用方法:

locale(语言相关) date(日期相关) cal(日历) bc(计算机) --help(help命令帮助) man(man手册帮助) cd(切换目录) pwd(显示当前工作路径) mkdir(创建文件夹) rmdir(删除空文件夹) ls(查看目录下内容) cp(复制) rm(删除) mv(移动) cat(查看文件内容) head(查看文件开头几行) tail(查看文件末尾几行) touch(创建文件或目录) find(查找) grep(过滤) locale命令(语言相关):

查询:

[[email protected] ~]# locale            #查询系统语言LANG=zh_CN.UTF-8       #语言语系输出LC_CTYPE="zh_CN.UTF-8"      #输出使用语系类型LC_NUMERIC="zh_CN.UTF-8"      #数字方面语系数据LC_TIME="zh_CN.UTF-8"      #时间方面语系数据LC_ColLATE="zh_CN.UTF-8"      #校验方面LC_MONETARY="zh_CN.UTF-8"      #货币方面LC_MESSAGES="zh_CN.UTF-8"      #信息方面LC_PAPER="zh_CN.UTF-8"      #文件方面LC_name="zh_CN.UTF-8"      #命名方面LC_ADDRESS="zh_CN.UTF-8"      #路径方面LC_TELEPHONE="zh_CN.UTF-8"      #电话方面LC_MEASUREMENT="zh_CN.UTF-8"      #测量方面LC_IDENTIFICATION="zh_CN.UTF-8"      #×××明方面LC_ALL=               #全部的数据同步更新的设置值

修改系统语言举例:

[[email protected] ~]# LANG=en_US.utf8     #修改为英文[[email protected] ~]# export LC_ALL=en_US.utf8    #输出到所有语言类型[[email protected] ~]# locale      #查看是否更改成功LANG=en_US.utf8LC_CTYPE="en_US.utf8"LC_NUMERIC="en_US.utf8"LC_TIME="en_US.utf8"LC_ColLATE="en_US.utf8"LC_MONETARY="en_US.utf8"LC_MESSAGES="en_US.utf8"LC_PAPER="en_US.utf8"LC_name="en_US.utf8"LC_ADDRESS="en_US.utf8"LC_TELEPHONE="en_US.utf8"LC_MEASUREMENT="en_US.utf8"LC_IDENTIFICATION="en_US.utf8"LC_ALL=en_US.utf8[[email protected] ~]# date        #查询日期,看到如下,说明更改成功Tue Aug  6 12:38:35 CST 2019[[email protected] ~]# LANG=zh_CN.utf8    #再改回来吧[[email protected] ~]# export LC_ALL=zh_CN.utf8[[email protected] ~]# date     #再查看日期2019年 08月 06日 星期二 12:39:43 CST
date命令(日期相关)
[[email protected] ~]# date            #查看时间2019年 08月 06日 星期二 12:39:43 CST[[email protected] ~]# date -s "2018-05-17 09:51:50"   #更改为指定时间2018年 05月 17日 星期四 09:51:50 CST[[email protected] ~]# date     #查看是否更改成功2018年 05月 17日 星期四 09:51:53 CST[[email protected] ~]# hwclock –w    #将当前系统时间写入BIOS中
cal命令(日历)

1、命令格式:
cal [选项] [月份][年份]
2、cal命令选项:

-1,--one 只显示当前月份(默认)
-3,--three 显示上个月、当月和下个月
-s,--sunday 周日作为一周第一天
-m,--monday 周一用为一周第一天
-j,--julian 输出儒略日
-y,--year 输出整年
-V,--version 显示版本信息并退出
-h,--help 显示此帮助并退出

3、命令功能:
用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。

4、使用实例:

[@L_301_12@ ~]# cal     #显示当前月份日历      八月 2019     日 一 二 三 四 五 六             1  2  3 4  5  6  7  8  9 1011 12 13 14 15 16 1718 19 20 21 22 23 2425 26 27 28 29 30 31[[email protected] ~]# cal 9 2019     #显示指定月份日历      九月 2019     日 一 二 三 四 五 六 1  2  3  4  5  6  7 8  9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30[[email protected] ~]# cal -y 2013       #显示2013年日历                               2013                                                            ............................[[email protected] ~]# cal -j   #显示自1月1日的天数         八月 2019          日  一  二  三  四  五  六                213 214 215216 217 218 219 220 221 222223 224 225 226 227 228 229230 231 232 233 234 235 236237 238 239 240 241 242 243[[email protected] ~]# cal -m               #星期一显示在第一列      八月 2019     一 二 三 四 五 六 日          1  2  3  4 5  6  7  8  9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31
bc计算机

1、各种算法的符号:

+: 加法;
-:减法;
*:乘法;
/:除法;
^:指数;
%:余数;

2、使用方法:

[[email protected] ~]# bc              #进入计算机环境bc 1.06.95copyright 1991-1994,1997,1998,2000,2004,2 Inc.This is free software with absoluteLY NO WANTY.For details type `warranty‘. 1*5                          #直接进行运算即可,按回车键得到运算结果5Ctrl+C退出计算机环境
--help命令(命令帮助)

与man命令功能一样,为我们提供一个命令的使用方法。

1、使用方法:

[[email protected] ~]# date --helpUsage: date [OPTION]... [+FORMAT]               #date命令的基本语法  or:  date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]display the current time in the given FORMAT,or set the system date.#下面是主要的选项说明Mandatory arguments to long options are mandatory for short options too.  -d,--date=STRING         display time described by STRING,not ‘Now‘  -f,--file=DATEfile       like --date once for each line of DATEfile                       ...............................#省略部分内容#下面是可以定义内容输出的格式FORMAT controls the output.  Interpreted sequences are:        %%   a literal %  %a   locale‘s abbreviated weekday name (e.g.,Sun)  %A   locale‘s full weekday name (e.g.,Sunday)                           ...............................#省略部分内容#下面是几个常用的范例Examples:Convert seconds since the epoch (1970-01-01 UTC) to a date  $ date --date=‘@2147483647‘                           ...............................#省略部分内容
man命令(man手册帮助)

和--help作用一样。

1、使用方法:

[[email protected] ~]# man date        #执行后将进入man环境DATE(1)                            User Commands                            DATE(1)#请注意上面的数字,(1)是命令代号,稍后解释命令代号。name       #这个指令的完整全名,如下所示       date - print or set the system date and timeSYnopSIS    #这个指令的基本语法如下:       date [OPTION]... [+FORMAT]  #第一种只是显示的用法       date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]#上面这种是可以设置系统时间的用法DESCRIPTION      #详细说明选项和参数的用法       display the current time in the given FORMAT,or set the system date.       Mandatory arguments to long options are mandatory for short options too.       -d,--date=STRING  #-d是短选项名称,-date为完整选项名称              display time described by STRING,not ‘Now‘       -f,--file=DATEfile                           ...............................#省略部分内容            #下面是格式化输出的详细数据                                               FORMAT controls the output.  Interpreted sequences are:                           ...............................#省略部分内容

2、在man手册的命令代号含义如下(其中1、5、8是需要牢记的,其他了解即可):

3、在man手册中一些代号的的含义:

4、man手册环境中的一些 *** 作按键:

cd命令(切换目录)

1、特殊符号代表的含义:

. :表示此层目录。
.. :表示上一层目录。

:表示前一个工作目录。
~ :表示“当前用户”的宿主目录。
~account:代表account这个用户的宿主目录。

2、用法举例:

[[email protected] ~]# cd ~lv     #切换至用户“lv”的宿主目录[[email protected] lv]# pwd             #查看是否在指定位置下/home/lv[[email protected] lv]# cd ..              #切换至上一层工作目录[[email protected] home]# pwd      #查看/home[[email protected] home]# cd ./lv      #切换至当前目录下的“lv”目录,一般直接“cd lv”即可。[[email protected] lv]# pwd     #查看/home/lv
pwd(显示当前工作路径)

在上面的cd命令介绍中,已经使用了pwd命令,相信明白pwd命令的作用了,主要是这个命令还有一个选项,也就是“-P”。

[[email protected] lv]# cd /var/mail/      #切换到一个链接目录下[[email protected] mail]# pwd                 #查询当前工作路径/var/mail  [[email protected] mail]# pwd -P     #加“-P”再查看下,发现路径不一样/var/spool/mail

在上面的例子中,因为/var/mail是一个链接文件,链接到/var/spool/mail下的,加上“-P”选项后,会显示正确的完整路径,而不是以链接文件的属性显示。

mkdir(创建目录)

1、命令选项:

-p:递归创建多层目录时使用。
-m:设置文件的权限,否则使用默认权限(umask)。
-v:创建时输出详细信息

2、-m选项用法举例:

[[email protected] ~]# mkdir -m 777 /test1/       #创建目录,并指定权限为777[[email protected] ~]# ls -ld /test1/           #查看目录属性drwxrwxrwx 2 root root 6 Aug  6 14:08 /test1/#可以看到目录创建后的权限就是创建时指定的权限。

3、-p、-v选项用法举例:

[[email protected] ~]# mkdir -pv /t1/t2/t3     #使用“-p”创建多层目录mkdir: created directory ‘/t1’mkdir: created directory ‘/t1/t2’mkdir: created directory ‘/t1/t2/t3’#会输出创建成功的信息,这就是“-v”选项的作用,一般不用“-v”选项
rmdir(删除空目录)

1、命令选项:

-p:连同上层空目录都删除。

2、用法示例:

[[email protected] ~]# rmdir /test1/     #删除刚才创建的空目录test1[[email protected] ~]# tree /t1      #查看目录结构/t1`-- t2    `-- t32 directorIEs,0 files#可以确认都是空目录,tree命令需要手动安装,这里不过多介绍。[[email protected] /]# rmdir -p t1/t2/t3/            #加上“-p”选项[[email protected] /]# tree /t1     #查看目录结构,确认已经被删除了t1 [error opening dir]0 directorIEs,0 files

需要放心的是,rmdir只能删除空目录,加上“-p”选项后,若上层目录不是空的,将跳过。

ls(查看目录下内容)

1、命令选项:

-l:以长格式(long)显示文件和目录的列表,包括权限、大小、最后更新的时间等详细信息;
-a:显示所有(All)子目录和文件的信息,包括以“.”号开头的隐藏目录和隐藏文件。
-A:与“-a”效果差不多,只是不包括“.”和“..”这两个目录。
-f:直接列出结果、而不进行排序(ls默认以文件名排序),同时显示以“.”开头的隐藏文件。
-F:根据文件、目录等信息,给予附加数据结构,如:*:代表可执行文件;/:代表目录;=:代表socket文件;|:代表FIFO文件。
-i:将列出inode号码,关于inode会在以后的博文介绍。
-n:列出UID与GID而非使用者与群组的名称。
-d:显示目录(directory)本身的属性,而不是显示目录中的内容。

-h:结合-l选项一起使用,可以以人性化的方式显示文件或目录的大小,默认的大小单位为字节(b),使用-h选项后,将显示为KB、MB等单位。

-R:以递归(Recursive)的方式显示指定的目录和它子目录中所有的内容。
-r:将排序结果反向输出,例如:原本文件名由小到大,反向则会由大到小。
-S:以文件大小排序,而不是用文件名排序。
-t:依时间排序,而不是用文件名。
--color=never:不要依据文件特性给予颜色显示;
--color=always:显示颜色
--color=auto:让系统自行依据设置来判断是否给予颜色(该选项为默认选项)。
--full-time:以完整时间模式(包含年、月、日、时、分)输出
--time={atime,ctime}:输出access时间或改变权限属性时间(ctime)而不是内容变更时间(mtime)。

关于上面提到的文件属性:ctime、mtime、atime的解释如下:

mtime:当该文件的“内容数据”变更时,就会更新这个时间!内容数据是指文件的内容,而不是文件的属性或权限。 ctime:当该文件的“状态”改变时,就会更新这个时间,举例来说,就像是该文件的属性和权限被更改了,都会更改这个时间。 atime:当我们使用查看命令(如cat命令)去读取这个文件,就会更新该文件的atime。

2、用法示例:

[[email protected] ~]# ls -alF --color=never     #不指定路径,则默认查看当前目录下

输出结果如下:

可以看到输出结果只有一种颜色。

[[email protected] ~]# ls -alF     #去掉命令末尾的“--color”再查看一下

输出结果如下:

在linux中关于各种颜色的代表含义(使用Xshell等连接可能会不一样):

深蓝色:表示目录。 白色:表示一般文件。 绿色:表示可执行文件。 ×××:表示设备文件。 红色:表示压缩文件。
[[email protected] ~]# ls -al --full-time

输出结果如下:

“-al”选项只能列出简单的时间,借助“--full-time”可以列出完整的时间格式。

cp(复制)

1、命令选项:

-a:相当于同时“-dr”,关于“-dr”可以参考下面说明。
-d:若来源文件是链接文件的属性,则复制链接文件属性而非文件本身。
-r:复制目录时必须使用此选项,表示递归复制所有文件及子目录。
-i:覆盖目标同名文件或目录时提醒用户确认(interactive,交互式)
-f:覆盖目标同名文件或目录时不进行提醒,而直接强制(force)复制。
-p: 复制时保持(preserve)源文件的权限、属主及时间标记等属性不变。
-u:目标比源旧才更新目标,或目标不存在的情况下才复制。

2、用法示例:

[[email protected] ~]# cp -r /etc/ /tmp    #将“/etc/”复制到“/tmp”目录下。
rm(删除)

1、命令选项:

-f:删除文件或目录时不进行提醒,而直接强制删除。
-r:删除目录时必须使用此选项,表示递归删除整个目录树。
-i:删除文件或目录时提醒用户确认。

2、用法示例:
默认rm命令已经加了“-i”选项,所以可以省略。

[[email protected] tmp]# rm -r vmware-root/     #删除该目录rm: remove directory ‘vmware-root/’? y     #输入“y”确定
mv(移动文件或目录、重命名)

mv命令用于将指定的文件或目录转移位置,如果目标位置与原位置相同,则效果相当于为文件或目录改名。
1、命令选项:

-f:强制的意思,如果目标文件已经存在,不会询问而直接覆盖,慎用。
-i:若目标文件已存在,则会询问是否覆盖,默认使用了该选项。
-u:若目标文件已经存在,而且源比较新,才会覆盖。

2、用法示例:

[[email protected] tmp]# mv test1 test2    #将test1改名为test2[[email protected] tmp]# mv test2 /home   #将test2移动到home目录下
cat、head、tail等命令

要把我写哭了,真的没耐心写下去了,关于cat、head、tail命令可以查看我最初写的博客:Linux中如何查看文件内容,不写了这个了。

touch命令(创建文件或目录)

touch这个命令最常用的的情况是:

创建一个文件或目录; 将某个文件日期修订为目前(mtime与atime);

可以看出来,touch命令不仅仅可以创建文件或目录。

1、常用选项:

-a:仅更改atime;
-c:仅修改文件的时间,若该文件不存在则不创建新文件。
-d:后面可以接想要修改的日期而不用目前的日期,也可以使用--date="日期或时间";
-m:仅修改mtime;
-t:后面可以接想要修改的时间而不用目前的时间,格式为[YYYYMMDDhhmm]。

2、用法示例:

[[email protected] tmp]# touch test     #先新建一个空文件[[email protected] tmp]# ls -l test     #观察时间-rw-r--r-- 1 root root 0 Aug  6 16:01 test#可以看到这个文件大小是0,在默认的状态下,如果touch后面有接文件,#则该文件的三个时间(atime/ctime/mtime)都会更新为目前的时间。#若该文件不存在,则会主动创建一个新的空文件。
[[email protected] tmp]# cp -a ~/.bashrc bashrc#将 ~/.bashrc复制到当前目录下,并命名为bashrc。[[email protected] tmp]# date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc  #查看该文件的各种时间及日期的属性Tue Aug  6 16:05:36 CST 2019      #这是当前时间-rw-r--r--. 1 root root 176 Dec 29  2013 bashrc   #这是mtime-rw-r--r--. 1 root root 176 Aug  6 12:14 bashrc   #这是atime-rw-r--r--. 1 root root 176 Aug  6 16:04 bashrc    #这是ctime[[email protected] tmp]# touch -d "4 days ago" bashrc    #将文件日期调整到四天前[[email protected] tmp]# date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc Tue Aug  6 16:11:22 CST 2019#再查看各种时间-rw-r--r--. 1 root root 176 Aug  2 16:11 bashrc-rw-r--r--. 1 root root 176 Aug  2 16:11 bashrc-rw-r--r--. 1 root root 176 Aug  6 16:11 bashrc#会发现除了ctime之外,都改变了,#ctime只有在文件属性发生改变后,才可以改变。[[email protected] tmp]# touch -t 201406150202 bashrc #将该文件的日期改为2014/06/15 2:02[[email protected] tmp]# date; ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc Tue Aug  6 16:15:46 CST 2019-rw-r--r--. 1 root root 176 Jun 15  2014 bashrc-rw-r--r--. 1 root root 176 Jun 15  2014 bashrc-rw-r--r--. 1 root root 176 Aug  6 16:15 bashrc#还是除了ctime之外,都改变了。
find命令(查找)



grep命令(过滤)

———————— 本文至此结束,感谢阅读 ————————

总结

以上是内存溢出为你收集整理的Linux基础命令(详细版)全部内容,希望文章能够帮你解决Linux基础命令(详细版)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1019984.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存