当前位置: 移动技术网 > 科技>操作系统>Linux > 命令大全

命令大全

2019年06月20日  | 移动技术网科技  | 我要评论
"第一阶段 快捷键 1" "第二阶段 文件和目录操作命令 1" "1.1 date / useradd 1" "1.2 echo 调用变量 2" "1.3 whoami 查看用户名 2" "1.4 tab命令补全 2" "1.5 history 历史命令 2" "1.6 alias 别名 3" "1 ...

第一阶段 快捷键 1

第二阶段 文件和目录操作命令 1

1.1 date / useradd 1

1.2 echo 调用变量 2

1.3 whoami 查看用户名 2

1.4 tab命令补全 2

1.5 history 历史命令 2

1.6 alias 别名 3

1.7 ls获取命令帮助help 4

1.8 cd:切换目录change directory 5

1.9 mkdir:创建目录make directory 5

2.0 touch创建文件 6

2.1 tree 树状显示目录文件结构 7

2.2复制命令cp 7

2.3 移动命令mv 8

2.4 删除rm 9

2.5 cat查看文件内容 10

2.6 查看命令more和less 10

2.7 查看文件前n行 head 11

2.8查看尾部tail 11

2.9 grep awk sed三剑客 11

第一部分 快捷键

ctrl+a 将光标跳转至行首
ctrl + e 将光标跳转至行末
ctrl + w 以空格为单位,将当前光标位置之前的内容删除
.ctrl +u 将当前光标位置之前的内容全部删除
ctrl + l 清屏
ctrl + c 终止当前命令
ctrl + d 退出,断开当前连接(exit,logout)
ctrl + z 挂起,放后台执行
ctrl + r 搜索历史命令
ctrl+s 锁屏
ctrl+q 解锁
ctrl+左右 按照单词跳转光标
esc + . 瞬间显示出上一条命令,最后的内容,以空格分隔
ctrl+y 将粘贴板上的内容粘贴出来,配合u,k,w使用

第二部分文件和目录操作命令

1.1 date / useradd

date 获取当前时间
useradd 创建用户

例如:

命令方式: [root@gong ~]# date #获取当前时间 

2019年 06月 14日 星期五 15:47 cst 

 

[root@gong ~]# useradd gjy 

\#增加用户名

1.2 echo 调用变量

echo 在bash shell中调用变量$
查看当前命令解释符 

[root@gong ~]# echo $ps1 

[\u@\h \w]\$ 

echo:在bash shell中调用变量 $

1.3 whoami 查看用户名

whoami 查看用户名
查看当前用户(whoamai:查看当前登录的用户) 

[root@centos7 ~]# whoamai 

root 

root:超级系统用户名,也是当前系统的用户

root之外的都是普通用户

1.4 tab命令补全

tab 命令补全,选项补全,参数补全
例如:、 [root@centos7 ~]# ifc 

\#按下tab键会自动补全,若按一下tab没反应,就需要按两下tab键,列出所有if开头的命令 

ifcfg ifcconfig 

[root@centos7 ~]# ifconfig 

[root@centos7 ~]# ls /etc/sysconfig/network-scripts/ifcfg-eth0       #网络配置名称

1.5 history 历史命令

history 列出历史命令。
-w 把历史文件写入文件
-c 清空命令历史记录,不会清空文件
-d 指定一条记录删除
-w 保存历史命令
!! 执行上一条命令
!n 执行历史命令中的第n条命令
例如:

查看历史记录: 

[root@gong ~]# history 

清空历史记录 

[root@gong ~]# history -c 


\#指定一条历史记录删除 

[root@gong ~]# history -d 23 


\#保存历史命令 

[root@gong ~]# history -w 


\#执行上一条命令

[root@gong ~]# !! 


\#执行上一条ls相关命令 

[root@gong ~]# !ls

 \#执行历史命令中的第23条命令 

[root@gong ~]# !23

1.6 alias 别名

alias 创建命令别名 alias 别名=“命令”
unalias 取消文件别名 unlias 别名
例如:定义临时别名,查看网络是否可以通,ping 百度,只对当前shell 生效

[root@gong ~]# alias tong="ping baidu.com"         #需用双引号,单引号输出的结果是引号内的字符串

ping baidu.com (123.125.114.144) 56(84) bytes of data.

64 bytes from 123.125.114.144: icmp_seq=1 ttl=128 time=44.2 ms

64 bytes from 123.125.114.144: icmp_seq=2 ttl=128 time=47.5 ms

64 bytes from 123.125.114.144: icmp_seq=3 ttl=128 time=46.3 ms

......
查看所有定义的别名

[root@gong ~]# alias

alias cp='cp -i'

alias l.='ls -d .* --color=auto'

alias ll='ls -l --color=auto'

alias ls='ls --color=auto'

alias mv='mv -i'

alias rm='rm -i'

alias tong='ping baidu.com'

......

 

取消别名

[root@gong ~]# unalias oldboy

[root@gong ~]# oldboy

-bash: tong: command not found


永久生效

[root@gong ~]# vim /etc/bashrc

alias oldboy="ping baidu.com"

1.7 ls获取命令帮助help

ls常见选项 全拼list,功能是列出目录的内容及其内容属性信息。
-l 以长格式方式显示文件或目录的详细内容
-a 查看目录下的所有文件,包括隐藏文件
-d 只显示目录名,而不显示目录里面的内容
-f 给不同类型的文件加上不同的标记
-r 倒叙
-t 按照文件或目录的修改时间进行排序
-i 显示文件的inode 号码
-h 以人类可读的方式
获取ls命令的帮助 

[root@gong ~]# ls --help 

用法:ls[选项]...[文件]...

 

[root@gong ~]# man ls

1.8 cd:切换目录change directory

cd 切换至当前用户家目录
cd - 切换上次所在目录
cd ~ 切换至当前用户家目录
cd . 代表当前目录,一般在拷贝、移动情况下使用
cd .. 切换至当前目录的上级目录

1.9 mkdir:创建目录make directory

-m 创建目录时,指定权限(很少用,几乎不用)
-p 如果目录已存在则不会报错,递归创建
-v 打印出创建过程信息
\#创建目录

[root@gong ~]# mkdir dir1

\#创建目录并给权限

[root@gong ~]# mkdir -m777 dir2

\#递归创建目录

[root@gong ~]# mkdir -p dir3/dir4/dir5

\#创建目录并显示信息

[root@gong ~]# mkdir -pv dir4/dir5/dir6

备注:rwx为7,read 读,write写,exec执行

最高权限为777,目录一般权限为755,文件一般权限为644

 

例如:

条命令建出以下的目录:

/home/zls

/home/abc

/home/abc/1

/home/abc/2

/home/abc/3

/home/abc/1/zls

/home/abc/2/zls

/home/abc/3/zls

/usr/local/abc

/data

/backup

/backup/abc

/abc

/abc/test

/abc/test/1

...

/abc/test/10

解答:

[root@gong ~]# mkdir /{home/{zls,abc/{1..3}/zls},usr/local/abc,data,backup/abc,abc/test/{1..10}} -pv

2.0 touch创建文件

touch

语法:touch[选项]... 文件名...

创建文件,如果文件存在,不会覆盖内容,但是会修改创建时间

linux中,一切皆文件

示例1:

[root@gong ~]# touch file

[root@gong ~]# touch file1 file2

[root@gong ~]# touch /home/zls/file3 file4

[root@gong ~]# touch file{5,6,7}

[root@gong ~]# touch file{10..100}

 

示例2:

[root@gong ~]# touch abc

[root@gong ~]# touch  /oldboy/abc

touch:cannot touch ‘/oldboy/abc’:no such file or directory

 

**注意:**
1.创建文件,必须要创建在一个存在的目录中
2.和创建目录不同的是,创建相同的文件不会报错
3.创建相同的文件,源文件内容不会被覆盖
4.在linux当中一切皆文件

 

2.1 tree 树状显示目录文件结构

-l 指定层级(level)
-d 只查看目录
如果没有安装,则需要先安装:yum -y install tree

起始目录为 . 

[root@gong ~]# tree  当前目录的tree结构

[root@gong ~]# tree /   /目录下的所有文件,目录

[root@gong ~]# tree /home    /home下的文件,目录

[root@gong ~]# tree -l 1 /      /目录下的一级目录,开头不是 . ,是指定的层级

[root@gong ~]# tree -l -d 2 /usr/local    只查看/usr/local的二级目录,不看文件

2.2复制命令cp

cp 复制
-r 递归拷贝,拷贝目录,连里面的东西一并拷贝
-p 保持源文件的属性
-a 拷贝目录并保持属性,和-rp一样 (用的最多
-rp 递归拷贝并保持源文件的属性
-v 显示复制的过程
-t 交换目标和源文件的位置(意义不大)
语法:

cp [option]... 源文件 目标

cp [option]... source... directory

cp [option]... -t directory source...

 

 

[root@oldboyedu ~]# cp oldboy /usr/

cp: omitting directory ‘oldboy’

 

复制文件的过程:

[root@oldboyedu ~]# cp -v 123 456 789 /opt/

‘123’ -> ‘/opt/123’

‘456’ -> ‘/opt/456’

‘789’ -> ‘/opt/789’

 

cp可以修改名字,指定的目录不存在,也可以拷贝,但拷贝即改名

 

[root@gong ~]# cp /etc/sysconfig/network-scripts/{ifcfg-eth0,eth00}

把网卡配置还是配置到这个路径下,改名 eth00

[root@gong ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.bak}

把网卡配置还是配置到这个路径下,改名ifcfg-eth0.bak(加后缀)

备注:{,.bak}=ifcfg-eth0,ifcfg-eth0.bak

 

2.3 移动命令mv

mv:移动 move (系统默认操作,alias可以查看,mv=mv-i)

语法:

mv [option]... 源文件 目标

注意:

\#系统默认操作,alias可以查看,mv=mv-i,执行命令时系统会自动询问要不要移动

\mv 就不会询问         

绝对路径执行命令:就是执行命令本身,不经过alias

命令前面加上转义符   \,也是执行命令本身,不经过alias

和cp一样
示例:

[root@gong ~]# mv file1 test1     #如果test1目录存在,file1直接放进

[root@gong ~]# touch file1       #创建文件file1

[root@gong ~]# echo 123>file 1    #输入123到file1文件中

[root@gong ~]# cat file1         #查看file1文件内容

 

总结:

1.如果目标是一个目录,就会把文件放入目录

2.文件,就会被覆盖

 

2.4 删除rm

rm 删除remove

语法:

-i 交互,再删除前需要确认
-r 递归删除
-f 强制删除(force)
-v 显示删除的过程
rm +文件 直接可以删除
rm+目录 不能直接删除,需加参数 rm -r
删文件就最好不加-f,    linux中没有回收站,都是永久删除

禁止使用alias=rm - fr/

要想删除 加\   

[root@gong ~]# \rm -fr   #前面加\即可直接删除,不会询问

 

备注:

echo 'alias rm="echo '禁止使用rm'"' >> /etc/bashrc 

source /etc/bashrc 

再执行rm -fr /...

就会出现禁止使用

2.5 cat查看文件内容

cat:查看

用法: cat[选项]...[文件]

-n 查看内容并显示行号
-a 显示文件的结束符和tab键,,一行结束和空行都加$, $代表某一行的结束,包含-t -e-v
-e 显示文件的结束符
-t 显示文件的tab键(^t)
-b 查看内容并显示行号,空行不显
示例:

[root@gong ~]# cat 123

file1

[root@gong ~]# cat 456

file2

[root@gong ~]# cat 123 456

file1

file2

 

[root@gong ~]# cat  >> zls.txt  << eof          #eof=end of 

eof                                            #eof也可以换成jieshu或者其他,但必须首尾一致

[root@gong ~]# cat zls.txt                     #能获取到zls.txt的内容

 

了解:tac zls.txt

把内容反过来了

2.6 查看命令more和less

more

[root@oldboyedu ~]# more /etc/services

不可以操作,回车是下行,空格是翻页

按q退出
    

less

[root@oldboyedu ~]# less /etc/services

/ +关键字  回车

n: 向下搜索

n:向上搜索(shift + n)

2.7 查看文件前n行 head

用法:

head + 文件名

-n: 显示前n行,n为数字,n后面加数字

默认为前10行

[root@oldboyedu ~]# head /etc/services                    #默认为前10行  

[root@oldboyedu ~]# head -n 20 /etc/services            # head -n 20       #查看前20行

[root@oldboyedu ~]# head -20 /etc/services        #head -20         #查看前20行

2.8查看尾部tail

用法:

tail+文件名

默认显示后10行

-f: 追踪文件末尾,相当于tailf

tailf=tail -f 是一个单独的命令,追踪日志

-n :显示前n行,n为数字,n后面加数字

(n也可以不写,作用一样)

2.9 grep awk sed三剑客

grep 过滤关键字
-n 显示行号
-o 只显示关键字,不显示行号
-b 显示前n行,n为数字(before)
-a 显示关键字的后n行,n为数字(affer)
-c 显示关键字的前后n行,n为数字(center)相当于 -b-a ( -b 1 -a1=-c1显示关键字的前后1行)
-v 取反
-e 支持多关键字,中间用|分隔 grep -e=egrep
-i 不区分大小写,忽略大小写
^ 以什么开头 ‘^root’
$ 以什么结尾 ‘root$’
^$ 空行
^[a-z] 以a到z开头的
. 代表字符
* 代表所有
| 管道符,将前面命令输出的结果交给后个 ,grep a passwd | grep -v ‘^tss’
获取ip地址

[root@oldboyedu ~]# ifconfig               #相当于输入ip a 查询 ip地址

[root@gong ~]# ifconfig |awk -f '[ :]+' 'nr==2 {print $3}' 

 

[root@oldboyedu ~]# grep '^root' /etc/passwd     #以root为开头

[root@oldboyedu ~]# grep 'bash$' /etc/passwd     #以bash为结尾


\#以数字的范围开头

[root@oldboyedu ~]# grep -n '^[0-9]' passwd 

 

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网