您的位置:首页 > 运维架构 > Linux

Linux系统常用命令及其使用方法

2018-04-02 19:23 756 查看
echo (printf)
echo - display a line of text - 显示一行文本

常用选项:
-n:不换行;
-e:使 "\"生效;(eg:\n:换行,\t:水平制表符)
文本颜色标识方法:
\033:代表Ctrl键
[:控制字符和颜色代码之间的分隔符;
所有颜色代码都需要使用m结尾;

颜色代码:
0:关闭颜色显示属性,恢复为黑白色;
1:加粗显示文本字符;
4:为文本字符添加下划线;
5:是文本字符闪烁;
7:将文本字符的背景颜色和前景颜色交换;
8:将文本字符的背景颜色设置为与前景色相同;

30-39:设置文本字符的前景色,38,39为保留,暂时未被使用;
40-49:设置文本字符的背景色,48,49为保留,暂时未被使用;
eg:~]# echo -e "\033[1;31mboom\033[0m"

2.cd
Change the shell working directory - 切换工作目录

cd /PATH/TO/SOMEDIR:将工作目录切换至参数所代表的目录;
cd:将工作目录切换至当前登录用户的家目录;相当于cd ~;
cd -:将工作目录切换至此前最后一次的工作目录;
cd ~USERNAME:将工作目录切换至指定用户的家目录中;

3.pwd
Print the name of the current working directory - 输出当前工作目录
shell提供了两个变量:PWD,OLDPWD
PWD:当前工作目录
OLDPWD:上一级工作目录
4.ls
ls - list directory contents - ;列表文件内容
目录的内容即是文件名;

常用选项:
-a, --all:显示所有文件,包括隐藏文件;(在Linux的文件系统中,所有以"."作为文件名的起始字符的文件,都是隐藏文件)
-A, --almost-all:显示除了"."和".."之外的所有文件,包括隐藏文件;
--color[=WHEN]:以不同的颜色来显示查询结果;
-h, --human-readable:在显示文件的大小的时候,显示为更加易读的格式;通常与-l选项一同使用;
-l:使用长列表格式显示文件的详细属性;
-rw-------. 1 root root 1458 12月 23 2016 anaconda-ks.cfg
-:表示文件类型;
rw-------:文件的权限位设置;
.:表示该文件是否具有特殊属性或扩展属性;
1:表示该文件被硬链接的次数;
root:文件的属主(所有者)
root:文件的属组
1458:表示文件的大小,在没有使用-h选项时,其单位为字节;
12月 23 2016:文件的时间戳之一,表示最后一次被修改的时间;
anaconda-ks.cfg:文件名
对于设备文件:
~]# ls -l /dev/sr0
brw-rw----. 1 root cdrom 11, 0 9月 24 10:50 /dev/sr0
11, 0:major, minor
major:主设备号,用于标识设备类型,进而确定需要加载何种驱动程序;
minor:次设备号,用于标识同一种设备类型中的不同的设备;
设备号默认使用8位二进制表示,所以默认的设备号的范围是0-255;
-r, --reverse:倒序输出结果
-R, --recursive:递归显示,如果目标目录中有子目录,则递归显示子目录的内容,依次递归下去;
-Z, --context:显示文件的SELinux安全上下文标签;

5.mkdir
mkdir - make directories - 创建新目录
常用选项:
-p, --parents:在创建目录的时候,如果其父目录不存在,则优先创建之;
-v, --verbose:为每个被创建的目录显示一条信息;

6.rm
rm - remove files or directories - 删除文件或目录
常用选项:
-f, --force:暴力,强制删除;不弹出询问信息;
-r, -R, --recursive:递归删除目录及目录中的内容;

7.touch
touch - change file timestamps - 修改文件的时间戳
常用选项:
-c, --no-create:不创建任何文件;
-a:仅修改文件的访问时间戳;
-m:仅修改文件的修改时间戳;
-t STAMP:使用指定的STAMP替换文件的时间戳;
STAMP的格式为:[[CC]YY]MMDDhhmm[.ss]
如果没有指定-c选项的话,touch命令可用作创建文件;

8.stat
stat - display file or file system status - 显示文件或文件系统的状态
常用选项:
-c, --format=FORMAT:以指定的格式显示文件的指定状态属性;
FORMAT:
%b 文件的总数据块
%d 文件系统中空闲文件节点数
%f 文件系统中的空闲块
%i 文件的inode号
%l 文件名的最大长度
%n 文件名
%s 文件大小

9.nano:文本模式下的全屏编辑工具;
nano界面下:
^:脱字符,表示键盘上的Ctrl按键;
^+o:保存文档内容;
^+x:退出编辑界面;

10.cat
cat - concatenate files and print on the standard output - 连接文件并在标准输出显示
常用选项:
-b, --number-nonblank:对非空白行进行编号输出;
-n, --number:对所有行编号输出;
-s, --squeeze-blank:合并连续的空白行;
-E, --show-ends:在行尾以$字符显示;

tac - concatenate and print files in reverse - 基于cat命令反向输出结果

注意:cat或tac命令,如果没有给出参数,则所有的内容需要通过标准输入(从键盘键入)完成;而后可以使用"^+c"或者"^+d"退出即可;

11.head
head - output the first part of files - 输出文件的起始部分;
常用选项:
-c, --bytes=[-]K:以字节为单位显示相应长度的内容;
-n, --lines=[-]K:以行为单位显示相应长度的内容;
-# :显示前#行

K may have a multiplier suffix:b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
如果不使用任何选项,则默认显示指定文件内容的前10行;

12.tail
tail - output the last part of files - 输出文件的最终部分;
常用选项:
-c, --bytes=[-]K:以字节为单位显示相应长度的内容;
-n, --lines=[-]K:以行为单位显示相应长度的内容;可以使用-#K方式替换-n #K;
-f, --follow[={name|descriptor}]:监控文件末尾的变化;
eg: ~]# tail -f /etc/a.txt 占用标准输出持续监控该文件的变化

13.more
more - file perusal filter for crt viewing - 分页显示文档内容,过滤;

交互式编辑方法:
可以使用"/"根据后续给出的字符串组合进行查找过滤;
可以使用"n"找到下一个匹配项;
使用"q"退出more模式;
使用Enter,可以向下翻一行;
使用Space,可以向下翻一页;

14.less
less - opposite of more - 与more相对应的命令

交互式编辑方法:
可以使用"/"或"?"根据后续给出的字符串组合进行查找过滤;
可以使用"n"或"N"找到下一个匹配项;
使用"q"退出more模式;
使用Enter,可以向下翻一行;
使用Space,可以向下翻一页;

15.date
操作系统时间,简称系统时间;使用软件模式的时钟记录的时间;
date - print or set the system date and time - 打印或设置系统日期和时间

常用选项:
-s, --set STRING:设置系统时间为指定的时间;
两种格式:
1) MMDDHHmm[[CC]YY][.ss]
2) "CCYY-MM-DD HH:mm:ss"或"CCYY/MM/DD HH:mm:ss"
eg:~]# date -s 2018-4-3 +20:55:22
FORMAT:
%F:表示完整的年月日格式,即:YY-mm-dd
%T:表示完整的时分秒格式,及:HH:MM:SS
%Y:表示完整年份
%m:表示月份
%d:表示日期
%H:表示小时
%M:表示分钟
%S:表示秒钟
%s:时间戳,从1970-01-01 00:00:00到当前系统时间所经历的秒数;
注意:1970年1月1日作为Unix元年;
此时间戳是由32位二进制表示的,所以其表示的最大范围0~4294967295;

16.clock/hwclock
hwclock - query or set the hardware clock (RTC) - 查询或设置硬件时钟(RTC)

常用选项:
-s, --hctosys:根据硬件时钟设置系统时间;
-w, --systohc:根据系统时间设置硬件时钟;(不推荐)

17.cal - 显示一个日历

18.cp
cp - 复制文件和目录
格式:cp [OPTION]... [-T] SOURCE DEST:单源复制
cp [OPTION]... SOURCE... DIRECTORY:多源复制

1) cp命令至少要接两个参数;
2) 最后一个参数,通常是此次复制到的目标位置;
3) 如果在复制时给出的目标是目录,则直接将文件复制到指定的目录中,保留原文件名;如果在复制非目录文件时,给出的目标时非目录的文件,则此次操作时复制并改名;

常用选项:
-R, -r, --recursive:递归地复制目录文件;
-d same as --no-dereference --preserve=links
复制的源文件是符号链接文件时,-d选项可以保留该符号链接文件作为此次的源文件被复制,而不会复制该符号链接文件所指向的那个文件;
-p same as --preserve=mode,ownership,timestamps
复制的源文件中的权限位、所有权及时间戳属性会保留下来;
-a, --archive same as -dR --preserve=all
相当于-dpr的组合;
-f, --force:如果目标文件已经存在,则强制复制并且不提示;想要使该选项生效,执行cp命令时,需要在cp前面加上"\",即:# \cp Source_file Destination_file

19.mv
mv - move (rename) files - 移动或重命名文件
格式:
mv [OPTION]... [-T] SOURCE DEST:单源移动
mv [OPTION]... SOURCE... DIRECTORY:多源移动

常用选项:
-f, --force:移动文件并强制覆盖目标位置同名文件;不给提示;
-n, --no-clobber:移动文件时,如果源文件与目标位置中的文件重名,则不移动;

20.alias

alias - 定义或显示别名。

格式:alias [-p] [名称[=值] ... ]

注意:如果alias命令不带任何选项和参数,则表示显示所有已经定义并生效的别名设置;

# alias ALIAS='COMMAND [OPTION]... [ARGUMENT]...'

unalias

unalias - 从别名定义列表中删除每一个"名字"。

格式:unalias [-a] 名称 [名称 ...]

注意:

无论使用alias命令还是使用unalias命令,其功能都会立即生效;此二命令的生命期仅为当前shell的生命期;一旦注销登录,相当于关闭了bash,则使用alias命令定义的别名或使用unalias命令删除的别名操作,会立即失效;

对于每个用户来说,都有一个私有的bash的配置文件,就在用户的家目录中的一个隐藏文件,文件名为".bashrc",其主要功能就是用来保存命令的别名的定义;

注意:

在对于此文件中的命令别名进行编辑并保存之后,在当前已经运行的bash中并不会立即生效,需要重新加载此文件才能使配置生效,以下两种操作皆可实现:

1.重启bash:注销之后再次登录即可;

2.执行文件中定义的命令:使用source命令,或者.命令;

eg:~]# source .bashrc

source - 在当前 shell 中执行一个文件中的命令。

. - 在当前 shell 中执行一个文件中的命令。

21.wc

wc - print newline, word, and byte counts for each file - 为每个文件打印新行、单词和字节数

格式:wc [OPTION]... [FILE]...

常用选项:

-c, --bytes:仅显示文件中的字节数;

-m, --chars:仅显示文件中的有效字符的数量;

-l, --lines:仅显示文件的行数;包括空白行;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  系统 运维 使用方法