资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

linux单个命令 10个linux命令

linux常用的命令有哪些

Linux运维人员必会的120个命令

成都创新互联公司是一家集网站建设,图们企业网站建设,图们品牌网站建设,网站定制,图们网站建设报价,网络营销,网络优化,图们网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

来自《跟老男孩学Linux运维:核心系统命令实战》一书

前言

第1章 Linux命令行简介 / 1

1.1Linux命令行概述 / 1

1.2在Linux命令行下查看命令帮助 / 4

1.3Linux shutdown reboot halt / 9

关机:

shutdown -h now

halt

init 0

第2章 文件和目录操作命令 / 13

2.1pwd:显示当前所在的位置 / 13

2.2cd:切换目录 / 16

2.3tree:以树形结构显示目录下的内容 / 18

2.4mkdir:创建目录 / 22

2.5touch:创建空文件或改变文件的时间戳属性 / 27

2.6ls:显示目录下的内容及相关属性信息 / 30

2.7cp:复制文件或目录 / 39

2.8mv:移动或重命名文件 / 42

2.9rm:删除文件或目录 / 45

2.10rmdir:删除空目录 / 48

2.11ln:硬链接与软链接 / 49

2.12readlink:查看符号链接文件的内容 / 54

2.13find:查找目录下的文件 / 55

2.14xargs:将标准输入转换成命令行参数 / 68

2.15rename:重命名文件 / 71

2.16basename:显示文件名或目录名 / 72

2.17dirname:显示文件或目录路径 / 72

2.18chattr:改变文件的扩展属性 / 73

2.19lsattr:查看文件扩展属性 / 75

2.20file:显示文件的类型 / 76

2.21md5sum:计算和校验文件的MD5值 / 77

2.22chown:改变文件或目录的用户和用户组 / 80

2.23chmod:改变文件或目录权限 / 81

2.24chgrp:更改文件用户组 / 85

2.25umask:显示或设置权限掩码 / 86

2.26老男孩从新手成为技术大牛的心法 / 90

第3章 文件过滤及内容编辑处理命令 / 91

3.1cat:合并文件或查看文件内容 / 91

3.2tac:反向显示文件内容 / 103

3.3more:分页显示文件内容 / 104

3.4less:分页显示文件内容 / 107

3.5head:显示文件内容头部 / 109

3.6tail:显示文件内容尾部 / 111

3.7tailf:跟踪日志文件 / 114

3.8cut:从文本中提取一段文字并输出 / 115

3.9split:分割文件 / 117

3.10paste:合并文件 / 118

3.11sort:文本排序 / 123

3.12join:按两个文件的相同字段合并 / 127

3.13uniq:去除重复行 / 129

3.14wc:统计文件的行数、单词数或字节数 / 131

3.15iconv:转换文件的编码格式 / 133

3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134

3.17diff:比较两个文件的不同 / 135

3.18vimdiff:可视化比较工具 / 138

3.19rev:反向输出文件内容 / 139

3.20tr:替换或删除字符 / 140

3.21od:按不同进制显示文件 / 143

3.22tee:多重定向 / 145

3.23vi/vim:纯文本编辑器 / 147

3.24老男孩逆袭思想:做Linux运维的多个好处 / 152

第4章 文本处理三剑客 / 153

4.1grep:文本过滤工具 / 153

4.2sed:字符流编辑器 / 159

4.3awk基础入门 / 165

第5章 Linux信息显示与搜索文件命令 / 176

5.1uname:显示系统信息 / 176

5.2hostname:显示或设置系统的主机名 / 178

5.3dmesg:系统启动异常诊断 / 179

5.4stat:显示文件或文件系统状态 / 181

5.5du:统计磁盘空间使用情况 / 183

5.6date:显示与设置系统时间 / 186

5.7echo:显示一行文本 / 190

5.8watch:监视命令执行情况 / 193

5.9which:显示命令的全路径 / 195

5.10whereis:显示命令及其相关文件全路径 / 196

5.11locate:快速定位文件路径 / 197

5.12updatedb:更新mlocate数据库 / 199

5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200

第6章 文件备份与压缩命令 / 201

6.1tar:打包备份 / 201

6.2gzip:压缩或解压文件 / 208

6.3zip:打包和压缩文件 / 211

6.4unzip:解压zip文件 / 212

6.5scp:远程文件复制 / 214

6.6rsync:文件同步工具 / 216

6.7老男孩逆袭思想:新手如何高效地提问 / 220

第7章 Linux用户管理及用户信息查询命令 / 222

7.1 useradd:创建用户 / 222

7.2usermod:修改用户信息 / 227

7.3userdel:删除用户 / 229

7.4groupadd:创建新的用户组 / 230

7.5groupdel:删除用户组 / 231

7.6passwd:修改用户密码 / 232

7.7chage:修改用户密码有效期 / 237

7.8chpasswd:批量更新用户密码 / 238

7.9su:切换用户 / 240

7.10visudo:编辑sudoers文件 / 242

7.11sudo:以另一个用户身份执行命令 / 244

7.12id:显示用户与用户组的信息 / 248

7.13w:显示已登录用户信息 / 249

7.14who:显示已登录用户信息 / 250

7.15users:显示已登录用户 / 252

7.16whoami:显示当前登录的用户名 / 253

7.17last:显示用户登录列表 / 253

7.18lastb:显示用户登录失败的记录 / 254

7.19lastlog:显示所有用户的最近登录记录 / 255

第8章 Linux磁盘与文件系统管理命令 / 257

8.1fdisk:磁盘分区工具 / 257

8.2partprobe:更新内核的硬盘分区表信息 / 265

8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266

8.4parted:磁盘分区工具 / 268

8.5mkfs:创建Linux文件系统 / 272

8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274

8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275

8.8fsck:检查并修复Linux文件系统 / 278

8.9dd:转换或复制文件 / 281

8.10mount:挂载文件系统 / 284

8.11umount:卸载文件系统 / 288

8.12df:报告文件系统磁盘空间的使用情况 / 289

8.13mkswap:创建交换分区 / 293

8.14swapon:激活交换分区 / 294

8.15swapoff:关闭交换分区 / 295

8.16sync:刷新文件系统缓冲区 / 296

第9章 Linux进程管理命令 / 298

9.1ps:查看进程 / 298

9.2pstree:显示进程状态树 / 305

9.3pgrep:查找匹配条件的进程 / 306

9.4kill:终止进程 / 307

9.5killall:通过进程名终止进程 / 310

9.6pkill:通过进程名终止进程 / 311

9.7top:实时显示系统中各个进程的资源占用状况 / 313

9.8nice:调整程序运行时的优先级 / 320

9.9renice:调整运行中的进程的优先级 / 323

9.10nohup:用户退出系统进程继续工作 / 324

9.11strace:跟踪进程的系统调用 / 325

9.12ltrace:跟踪进程调用库函数 / 332

9.13runlevel:输出当前运行级别 / 334

9.14init:初始化Linux进程 / 335

9.15service:管理系统服务 / 335

第10章 Linux网络管理命令 / 338

10.1ifconfig:配置或显示网络接口信息 / 338

10.2ifup:激活网络接口 / 343

ifup eth0

10.3ifdown:禁用网络接口 / 343

ifdown eth0

service network restart(/etc/init.d/network restart) 激活整个网络,所有网卡。

10.4route:显示或管理路由表 / 344

10.5arp:管理系统的arp缓存 / 350

10.6ip:网络配置工具 / 351

10.7netstat:查看网络状态 / 358

10.8ss:查看网络状态 / 362

10.9ping:测试主机之间网络的连通性 / 363

10.10traceroute:追踪数据传输路由状况 / 366

10.11arping:发送arp请求 / 367

10.12telnet:远程登录主机 / 369

10.13nc:多功能网络工具 / 370

10.14ssh:安全地远程登录主机 / 373

10.15wget:命令行下载工具 / 376

10.16mailq:显示邮件传输队列 / 379

10.17mail:发送和接收邮件 / 381

10.18nslookup:域名查询工具 / 386

10.19dig:域名查询工具 / 389

10.20host:域名查询工具 / 393

10.21nmap:网络探测工具和安全/端口扫描器 / 394

10.22tcpdump:监听网络流量 / 398

第11章 Linux系统管理命令 / 407

11.1lsof:查看进程打开的文件 / 407

11.2uptime:显示系统的运行时间及负载 / 411

11.3free:查看系统内存信息 / 411

11.4iftop:动态显示网络接口流量信息 / 413

11.5vmstat:虚拟内存统计 / 415

11.6mpstat:CPU信息统计 / 419

11.7iostat:I/O信息统计 / 420

11.8iotop:动态显示磁盘I/O统计信息 / 423

11.9sar:收集系统信息 / 425

11.10chkconfig:管理开机服务 / 430

11.11ntsysv:管理开机服务 / 433

11.12 setup:系统管理工具 / 434

11.13ethtool:查询网卡参数 / 436

11.14mii-tool:管理网络接口的状态 / 437

11.19rpm:RPM包管理器 / 443

11.20yum:自动化RPM包管理工具 / 446

top命令

第12章 Linux系统常用内置命令 / 450

12.1Linux内置命令概述 / 450

12.2Linux内置命令简介 / 450

12.3Linux常用内置命令实例 / 452

Linux命令

快照功能:记录当前的硬盘的状态。刚建快照时快照占用内存为0,标记了当前硬盘的存储状态。当虚拟机对快照标记的内容改写时,会将改写的内容存储进快照,与未改写的部分整合得到完整的快照。当快照标记的部分被完全改写,那么快照存储空间完整记录了当时拍摄时的内存状态。

参数形式

第一种:参数用一横的说明后面的参数是字符形式。

第二种:参数用两横的说明后面的参数是单词形式。

第三种:参数前有横的是 System V风格。

第四种:参数前没有横的是 BSD风格。

cat、more、less、head、tail命令的比较:

cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便;

more命令可以让屏幕在显示满一屏幕时暂停,按空格往前翻页,按b往后翻页。

less命令也可以分页显示文件,和more命令的区别就在于: 支持上下键卷动屏幕、查找;不需要在一开始就读取整个文件,打开大文件时比more、vim更快。

head命令用于查看文件的前n行。

tail命令用于查看文件的后n行,加上-f命令,查看在线日志非常方便,可以打印最新增加的日志。

一般模式:

编辑模式:

命令模式:

编码

多行操作(列编辑模式)

插入:ctrl+v进入列编辑模式,上下移动光标选择需要插入的位置,然后输入大写I,输入需要文本,最后按esc键退出,就会发现文本会在选择的多行中插入。

删除:ctrl+v进入列编辑模式,上下移动光标选中需要删除的部分,然后按d,就会删除选中的内容。

①head:显示文件头部内容

②tail:输出文件尾部内容

注意:用vim和vi修改内容会删除源文件并生成新文件,所以tail -f会失效。需要用到

追加和覆盖语句(或),才能被tail -f监视到。

一般用于查看小文件

查看压缩文件中的文本内容

例:

①more:文件内容分屏查看器

②less:分屏显示文件内容,效率比more高

1、简单读取

运行脚本如下

测试结果为:

2、-p 参数,允许在 read 命令行中直接指定一个提示。

运行脚本如下

测试结果为:

echo [选项] [输出内容] (输出内容到控制台)

输出给定文本的sha256加密后的内容

①显示当前时间信息

②显示当前时间年月日

③显示当前时间年月日时分秒

④显示昨天

⑤显示明天时间

⑥显示上个月时间

需要注意的是取下个月的命令存在bug,执行如下命令会得到21-10,但是正常应该得到21-09,需要注意

date -d "2021-08-31 +1 month" +%y-%m

⑦修改系统时间

⑧获取当前时间戳

获取秒时间戳: date +%s

获取毫秒时间戳:$[ (date +%s%N) /1000000]

查看日历

(1)查看当前月的日历

(2)查看2017年的日历

例:

对比gzip/gunzip,zip/unzip可以压缩文件和目录且保留源文件。

①zip:压缩

②unzip:解压缩

只能压缩文件不能压缩目录,不保留原来的文件。

gzip 文件 (只能将文件压缩为*.gz文件)

gunzip 文件.gz (解压缩文件命令)

例: crontab -e

(1)进入crontab编辑界面。会打开vim编辑你的工作。

(2)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字

*/1 * * * * /bin/echo ”11” /root/bailongma.txt

(3)可以用tail -f 目标文件来实施监控追加的内容

查看日志

可以用tail -f /var/log/cron.log观察

Cron表达式见文章:

ls [选项] [目录或是文件]

cd [参数]

例: cd -P $(dirname $p1) ; pwd 先跳转到文件的所在目录,再打印$p1文件的实际路径

概述

①cp(copy):只能在本机中复制

②scp(secure copy):可以复制文件给远程主机

scp -r test.sh hxr@hadoop102:/root

③rsync(remote sync):功能与scp相同,但是不会改文件属性

rsync -av test.sh test.sh hxr@hadoop102:/root

④nc(netcat):监听端口,可以实现机器之间传输文件。

nc -lk 7777 (-l表示listen,-k表示keep)

强制覆盖不提示的方法:\cp

例:scp -r test.sh hxr@bigdata1:/root

例:rsync -av test.sh hxr@bigdata1:/root

例:

nc -lp 10000 nc_test.txt

nc -w 1 hadoop102 nc_test.txt

远程登录时默认使用的私钥为~/.ssh/id_rsa

生成密钥对

将公钥发送到本机

将密钥发送到需要登录到本机的服务器上

修改密钥的权限

远程登陆

如果有多个节点需要远程登陆,可以在.ssh下创建config并输入

再次登陆

①正向代理:

②反向代理:

所谓“反向代理”就是让远端启动端口,把远端端口数据转发到本地。

HostA 将自己可以访问的 HostB:PortB 暴露给外网服务器 HostC:PortC,在 HostA 上运行:

那么链接 HostC:PortC 就相当于链接 HostB:PortB。

使用时需修改 HostC 的 /etc/ssh/sshd_config 的一条配置如下,不然启动的进程监听的ip地址为127.0.0.1,即只有本机可以访问该端口。

相当于内网穿透,比如 HostA 和 HostB 是同一个内网下的两台可以互相访问的机器,HostC是外网跳板机,HostC不能访问 HostA,但是 HostA 可以访问 HostC。

那么通过在内网 HostA 上运行 ssh -R 告诉 HostC,创建 PortC 端口监听,把该端口所有数据转发给我(HostA),我会再转发给同一个内网下的 HostB:PortB。

同内网下的 HostA/HostB 也可以是同一台机器,换句话说就是 内网 HostA 把自己可以访问的端口暴露给了外网 HostC。

例: 比如在我的内网机192.168.32.244上有一个RabbitMQ的客户端,端口号为15672。现在我希望在外网上访问固定ip的云服务器chenjie.asia的6009端口,通过跳板机192.168.32.243来转发请求到192.168.32.244:15672,从而实现在外网访问内网服务的功能,即内网穿透。

①在192.168.32.244上启动RabbitMQ服务

②将chenjie.asia云服务器的私钥复制到跳板机192.168.32.243的~/.ssh下,并重命名为id_rsa。通过如下命令看是否可以远程登陆到云服务,可以登陆则进行下一步。

③修改chenjie.asia服务器的ssh配置文件 /etc/ssh/sshd_config ,允许其他节点访问

然后重启sshd服务

④在跳板机192.168.32.243启动ssh反向代理

这个进程在关闭session时会停止,可以添加启动参数 -CPfN

例:

以 root 身份执行的程序有了所有特权,这会带来安全风险。Kernel 从 2.2 版本开始,提供了 Capabilities 功能,它把特权划分成不同单元,可以只授权程序所需的权限,而非所有特权。

例如:linux不允许非root账号只用1024以下的端口,使用root启动命令nginx,会导致nginx权限过高太危险。所以用setcap命令

sudo setcap cap_net_bind_service=+eip /bigdata/nginx/sbin/nginx

正确的关机流程为 :sync shutdown reboot halt

(1)sync (功能描述:将数据由内存同步到硬盘中)

(2)halt (功能描述:关闭系统,等同于shutdown -h now 和 poweroff)

(3)reboot (功能描述:就是重启,等同于 shutdown -r now)

(4)shutdown [选项] [时间]

安装

yum install -y telnet-server telnet

ls -i 显示文件的节点号

find -inum 节点号 -delete 删除指定的节点即可删除对应的文件

启动一个服务: systemctl start postfix.service

关闭一个服务: systemctl stop postfix.service

重启一个服务: systemctl restart postfix.service

显示一个服务的状态: systemctl status postfix.service

在开机时启用一个服务: systemctl enable postfix.service

在开机时禁用一个服务: systemctl disable postfix.service

注:在enable的时候会打印出来该启动文件的位置

列出所有已经安装的服务及状态:

systemctl list-units

systemctl list-unit-files

查看服务列表状态:

systemctl list-units --type=service

查看服务是否开机启动: systemctl is-enabled postfix.service

查看已启动的服务列表: systemctl list-unit-files | grep enabled

查看启动失败的服务列表: systemctl --failed

查看服务日志: journalctl -u postfix -n 10 -f

命令类似systemctl,用于操作native service。

添加脚本为服务(需要指定启动级别和优先级): chkconfig --add [脚本]

删除服务: chkconfig --del [脚本]

单独查看某一服务是否开机启动的命令 : chkconfig --list [服务名]

单独开启某一服务的命令 : chkconfig [服务名] on

单独关闭某一服务的命令: chkconfig [服务名] off

查看某一服务的状态: /etc/intd.d/[服务名] status

启用服务就是在当前"runlevel"的配置文件目录 /etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面对应服务配置文件的软链接;禁用服务就是删除此软链接,添加服务就是添加软连接。

su 用户名称 (切换用户,只能获得用户的执行权限,不能获得环境变量)

su - 用户名称 (切换到用户并获得该用户的环境变量及执行权限)

echo $PATH 打印环境变量

设置普通用户具有root权限

修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下 所示:

或者配置成采用sudo命令时,不需要输入密码

修改完毕,现在可以用hxr 帐号登录,然后用命令 sudo ,即可获得root权限进行操作。

以azkaban用户执行引号中的命令

gpasswd -d [username] [groupname] 将用户从组中删除

gpasswd -a [username] [groupname] 将用户加入到组中

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对 /etc/group文件的更新。

0首位表示类型 - 代表文件 d 代表目录 l 链接文档(link file)

三种特殊权限suid、sgid、sticky

例子:

变更文件权限方式一

例:chmod u-x,o+x houge.txt

变更文件权限方式二

例:chmod -R 777 /mnt/ 修改整个文件夹的文件权限

在linux中创建文件或者目录会有一个默认权限的,这个默认权限是由umask决定的(默认为0022)。umask设置的是权限的“补码”,而我们常用chmod设置的是文件权限码。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中设置umask值。

umask计算

如root用户的默认umask为0022(第一个0 代表特殊权限位,这里先不考虑),创建的文件默认权限是644(即默认666掩上umask的022),创建的目录是755(即默认777掩上umask的022)。

对于root用户的umask=022这个来说,777权限二进制码就是(111)(111)(111),022权限二进制码为(000)(010)(010)。

上面就是一个umask的正常计算过程,但是这样实在是太麻烦了。我们使用如下的简单的方法快速计算。

上面的这个方法计算是非常方便的, 为何得到奇数要+1呢?

文件的最大权限是666,都是偶数,你得到奇数,说明你的umask有奇数啊,读为4,写为2,都是偶数,说明你有执行权限的。

就按照上面的umask=023为例,在计算其他用户权限的时候6-3=3 ,6是读写,3是写和执行,其实应该是读写权限减去读权限的得到写权限的,相当于我们多减去了一个执行权限。所以结果加1。

umask修改

如果想单独修改某个文件夹的新建文件的权限,可以使用setfacl命令。

例:递归改变文件所有者和所有组 chown -R hxr:hxr /mnt

例:

Linux常用基本命令大全介绍

学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令。下面由我为大家整理了Linux系统常用的基本命令入门篇,希望对大家有帮助!

Linux系统常用的基本命令入门篇一、基础命令

1.Linu x的进 入与退出系统

进入Linux系统:

必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:

1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。

2.普通用户--这个帐号供普通用户使用,可以进行有限的操作。

一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统。影响系统的正常运行。

用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串,对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字。

当用户正确地输入用户名和口令后,就能合法地进入系统。屏幕显示:

[root@loclhost/root] #

这时就可以对系统做各种操作了。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo;。

2.修改口令

为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键。如果用户忘记了口令,可以向系统管理员申请为自己重新设置一个。

3.虚拟控制台

Linux是一个真正的多用户 操作系统 ,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。 一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。

退出系统

不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下,键入exit命令即可。

4.查看命令帮助信息

man命令

man命令用于查询命令和程序的使用 方法 和参数。

例如:

man ls

将显示ls命令的基本格式和使用方法

Linux系统常用的基本命令入门篇二、关机重启命令

首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到

reboot 一般不跟参数使用,输入指令即可重启

shutdown 一般需要跟参数,例:

shutdown -r 延时多少分钟重启,一般使用now

shutdown -r now 立即重启

shutdown -f 强制重启

跟windows一样,linux也存在注销功能

exit

1)halt

halt 可不接参数

halt -f 强制关机

2)poweroff

poweroff 可不接参数使用

poweroff -f 强制关机

3)init 0

4)shutdown 不可单独使用

shutdown -h 分钟数 延时多久关机

shutdown -h now 立即关机

Linux系统常用的基本命令入门篇三、vi编辑

vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。

Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。

默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用ldquo;escrdquo;键,从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键。

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入。常用内置命令如下:

1 Ctrl+u:向文件首翻半屏;

2 Ctrl+d:向文件尾翻半屏;

3 Ctrl+f:向文件尾翻一屏;

4 Ctrl+b:向文件首翻一屏;

5 Esc:从编辑模式切换到命令模式;

6 ZZ:命令模式下保存当前文件所做的修改后退出vi;

7 :行号:光标跳转到指定行的行首;

8 :$:光标跳转到最后一行的行首;

9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;

10 D:删除从当前光标到光标所在行尾的全部字符;

11 dd:删除光标行正行内容;

12 ndd:删除当前行及其后n-1行;

13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;

14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;

15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;

16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;

17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;

18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,ldquo;s/rdquo;表示进行替换操作;

19 a:在当前字符后添加文本;

20 A:在行末添加文本;

21 i:在当前字符前插入文本;

22 I:在行首插入文本;

23 o:在当前行后面插入一空行;

24 O:在当前行前面插入一空行;

25 :wq:在命令模式下,执行存盘退出操作;

26 :w:在命令模式下,执行存盘操作;

27 :w!:在命令模式下,执行强制存盘操作;

28 :q:在命令模式下,执行退出vi操作;

29 :q!:在命令模式下,执行强制退出vi操作;

30 :e文件名:在命令模式下,打开并编辑指定名称的文件;

31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;

32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;

33 :set nu:在命令模式下,用于在最左端显示行号;

34 :set nonu:在命令模式下,用于在最左端不显示行号;

35 :1,3y 复制第一行到第三行

36 :1,3d 删除第一行到第三行

37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串

38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符

39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行

Linux常用命令一、查询相关

find

按规则查找某个文件或文件夹,包括子目录

find . -name '_sh' -- 以.sh结尾的文件

find . -name '_hannel_ -- 包含channel字符的文件

find . -name 'build_ -- 以build开头的文件

find . -name 'abc??' -- abc后面有两个字符的文件

grep

查找内容包含指定的范本样式的文件,Global Regular Expression Print

grep -n pattern files -- 规则 -n表示显示行号

grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方

grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号

ps -e | grep java -- 所有java进程

ps -e | grep -i qq --所有qq进程,不区分大小写

find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方

ls | grep 'channel' -- 包含channel关键字的文件

which

在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果

which zipwhich grep

Linux常用命令二、查看命令

tail

tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]

从指定点开始将文件写到标准输出。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容。

tail -f test.log,循环查看文件内容,Ctrl+c来终止

tail -n 5 test.log,显示文件最后5行内容

tail -n +5 test.log,从第5行开始显示文件

more

more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

more +3 test.log,显示文件中从第3行起的内容

more -5 test.log,设定每屏显示行数

ls -l | more -5,每页显示5个文件信息

more +/day3 test.log,查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出

less

less [options] [file...]

与more命令一样,less命令也用来分屏显示文件的内容。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键。

less test.log,查看文件

ps -ef | less,查看进程信息并通过less分页显示

history | less,查看命令历史使用记录并通过less分页显示

less test1.log test2.log,浏览多个文件,n和p切换文件

watch

watch [options] command

每隔一段时间重复运行一个命令,默认间隔时间是2秒。要运行的命令直接传给shell(注意引用和转义特殊字符)。结果会展示为全屏模式,这样你可以很方便的观察改变

watch -n 60 date,执行date命令每分钟一次,输入^C 退出

watch -d ls -l,查看目录变化

watch -d rsquo;ls -l | fgrep joersquo;,想找joe用户的文件

watch -d 'ls -l|grep scf',监测当前目录中 scf' 的文件的变化

watch -n 10 'cat /proc/loadavg',10秒一次输出系统的平均负载

watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化

watch -n 1 -d 'pstree | grep http',每隔一秒高亮显示http链接数的变化

Linux常用命令三、文件相关

vi

vi file

按i键,进入编辑模式

按esc键,进入命令模式

:w 保存文件但不退出vi

:w file 将修改另外保存到file中,不退出vi

:w! 强制保存,不推出vi

:wq 保存文件并退出vi

:wq! 强制保存文件,并退出vi

q: 不保存文件,退出vi

:q! 不保存文件,强制退出vi

:e! 放弃所有修改,从上次保存文件开始再编辑

chmod

change mode,变更文件或目录的读、写、运行权限

chmod [-cfvR] [--help] [--version] mode file...

mode:权限设定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]

u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是

+ 表示增加权限、- 表示取消权限、= 表示唯一设定权限。

r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。

chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。 r=4,w=2,x=1

chmod 777 file,等同于 chmod a=rwx file

chmod ug=rwx,o=x file,等同于 chmod 771 file

chmod 4755 filename,可使此程序具有root的权限

ls -l 可以查看列出当前用户的文件权限

zip

zip -r filename.zip filesdir

zip -r test.zip ./_把当前所有文件压缩到test.zip

zip -r test.zip test,把test文件所有文件及目录,要是到test.zip

zip -d test.zip test.txt,删除压缩文件中test.txt文件

zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件

zip -r test.zip file1 file2 file3 filesdir,处理多个文件和目录,空格隔开

unzip

unzip zip-file,解压到当前目录

unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录

unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件

unzip -n -d dst-dir zip-file,解压到指定的目录,不覆盖已经原有的文件

unzip -o -d dst-dir zip-file,-o不必先询问用户覆盖原有文件

unzip -l zip-file,仅查看压缩文件内所包含的文件

tar

tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test,把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz,把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在 显示器 上

tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录

touch

Linux常见命令

权限管理命令 chmod

英文愿意: change the permissions mode of a file

语法: chmod[{ugoa}{+-=}{rwx}] [文件或目录]

[mide = 421] [文件或目录]

-R 递归修改

权限的数字表示

r -- 4

w -- 2

x -- 1

rwxrw-r-- (4+2+1 = 7)

7 6 4

例子:mkdir /temp 创建了一个目录

touch /temp/testfile 在该目录下创建了一个test file文件

chmod 777 /temp 改变了一下该目录的权限

名称: chgrp

英文原意:change file group ownership

语法:chgrp [用户][文件或目录]

功能: 改变文件或目录的所属租

例子: useradd hl // 添加所有者

groupadd brother // 添加所有组

charp brother text // brother变成了text文件的所属组

注意:

1、所属组就是创建这的所属者的缺省组

2、linux中创建的文件缺少x(可执行)为了使系统更加安全

mask

0022

0特殊权限

022 ugo --- -w- -w-

1、文件搜索命令find

执行权限:find

语法:find[搜索范围][匹配条件]

功能描述:文件搜索

例子:

find /etc -name init (-iname 不区分大小写)

find /home -user(-group) hl

在根目录下查找所有者(所有组)为hl的文件

在目录/etc中查找文件init

init init init // 通配符

?init (?匹配单个字符)

find / -size +204800

在跟目录下查找大于100MB的文件 (100MB = 102400KB = 204800)

+n 大于 -n小于 n等于

find /etc -cmin -5

例子2:

find /etc -size + 163840 -a size -204800

在/etc下查找大于80MB小于100MB的文件

-a两个条件同时满足

-o两个条件满足任意一个即可

在/etc下查找5分钟内被修改的属性的文件和目录

-amin 访问时间 access

-cmin 文件属性 change

-mmin 文件内容 modify

2、文件搜索指令 locate

命名名称:locate

执行权限:所有用户

语法:locate 文件名

功能描述:在文件资料库中查找文件

例子: $ locate inittab

输出文件所在位置

locate和find的区别:

locate的查找速度很快,因为find是在分区和磁盘上查找,而locate是在资料库中查找

注意:如果资料库没有实时更新,所以locate可能会查不到要查询的文件。

即:

updatedb (升级文件的资料库)

loocate -i 文件名 (-i 不区分大小写)

3、文件搜索命令:which (更精确呦)

执行权限:所有用户

功能描述:搜索命令所在目录及别名信息

例子: which ls

alias(别名)

4、whiereis

执行权限:所有用户

语法: whereis[命令名称]

功能描述:搜索命令所在目录及帮助文档路径

例子: whereis ls

5、grep

执行权限:所有用户

语法:grep -iv[指定字串][文件]

功能描述:在文件中搜索字符串匹配的行并输出

-i 不区分大小写

-v 排除指定字符串

例子 grep mysql /root/install.log

补充: linux中 # 表示注释

命名名称:man

英文原意:manual

执行权限:所有用户

语法:man[命令或配置文件]

功能描述:获取帮助信息

例子: man ls # 查看ls命令的帮助信息

man services 查看配置文件sevices的帮助信息

补充:man 。。。。后

/-g :查询与g有关的信息

空格进行翻页

回车进行换行

按n继续查找

命令名称:useradd

执行权限:root

语法:useradd 用户名

功能描述: 添加新用户

例子: useradd HF

命令名称:passwd

执行权限:所有用户

语法:passwd 用户名

功能描述: 设置用户密码

例子: passwd HF

命令名称:who

执行权限:所有用户

语法:who

功能描述: 查看登录用户信息

例子: who

输出内容含义:

登录用户名 登录终端(tty本地登录、pds表述远程终端) 登录时间 登录主机ip地址

命令名称:w

执行权限:所有用户

语法:w

功能描述: 查看登录用户详细信息

例子: w

命令名称:gzip

英文原意:GNU zip

执行权限:所有用户

语法:gzip[文件]

功能描述: 压缩文件

压缩后文件格式:.gz

解压缩:gunzip 压缩文件

注意:gizp只能压缩文件,不能压缩目录

命令名称:tar

执行权限:所有用户

语法:tar 选项 [-zcf] [压缩文件名] [目录]

-c 打包

-v 显示详细文件

-f 指定文件名

-z 打包同时压缩

功能描述: 打包目录

压缩后文件格式:.tar.gz

命令名称:zip

执行权限:所有用户

语法:zip 选项[-r][压缩后文件名][文件或目录]

-r 压缩目录

功能描述: 压缩文件或目录

压缩后文件格式: zip

注意:zip是window和linux系统中通过用的压缩格式

命令名称:bzip2

执行权限:所有用户

语法:bzip2 选项 [-k] [文件]

-k 产生压缩文件后保留有源文件

功能描述: 压缩文件

压缩后文件格式: .bz2

注意: bzip2的压缩比例大,适用于压缩较大的文件

bunzip2解压缩

对目录压缩:tar.bz2

指令名称:write

指令权限:所有用户

语法:write 用户名

功能描述:给用户发消息 ,以ctrl + D保存

例子: write YX

命令名称:wall

英文原意:write all

执行权限:所有用户

语法:wall [message]

功能描述: 发广播信息

命令名称:ping

执行权限:所有用户

语法:ping 选项IP地址

-c 指定发送次数

功能描述: 测试网络连通性

例子: ping 192.168.1.156

命令名称:ifcongig

英文原意:interface configure

执行权限:root

语法:ifconfig 网卡名称 IP地址

功能描述:查看和设置网卡信息(设立之临时IP)

例子: ifconfig etho 192.168.1.156

etch0 本地真实网卡

lo 回环网卡 (用来本机通信个测试的)

cncap:。。网络名称是以太网

HWaddr: 16进制表示的 48位的 网卡的物理地址

addr:当前计算机IP地址

Bcast:当前网络地址

Mask:子网掩码

inet6 addr: 表示的是IPv6的地址信息

RX packets:接受数据包的总数量

TX packets:发送数据包的总数量

Base addtess: 网卡当中的物理位置

命令名称:mail (邮件命令)

执行权限:所有用户

语法:mail [用户名]

功能描述:查看发送电子邮件

发送:ctrl + D

查询: mail

例子: mail root

[图片上传中...(-d00bb9-1591253201012-0)]

命令名称:last

执行权限:所有用户

语法:last

功能描述:列出目前和过去登入系统的用户信息

命令名称:traceroute

执行权限:所有用户

语法:traceroute

功能描述:显示数据包到主机的路径

例子: traceroute

命令名称:netstat

执行权限:所有用户

语法:netstat [选项]

功能描述:显示网络相关信息

选项:

-t : TCP协议

-u : UDP协议

-l : 监听

-r : 路由

-n : 显示IP地址和端口号

例子:

netstat -tlun 查看本机监听的端口

netstat -an 查看本机所有网络链接

netstat -rn 查看本届路由表

命令名称:setup

执行权限:root

语法:setup

功能描述:配置网络(永久生效)

例子: setup

注意:配置网络结束后要重启网络服务

service network restart

挂在命令

命令名称:mount

执行权限:所有用户

语法:mount[-t 文件系统] 设备文件

例子: mount -t iso9660/dev/sr0/mnt/cdrom

命令名称:shutdown

[root@localhost~]#shutdown [选项] 时间

选项:- c : 取消前一个关机命令

- h:关机

- r :重启

特点:可以正确的关闭和保存服务,建议实用

其他关机命令

halt

poweroff (直接断电)

init 0

重启命令

reboot

init6

补充:init _ 的数字含义

init0 关机

init1 单用户(启动最小最核心的服务)

init2 不完全多用户,不含NFS服务(network file system 网络文件系统)

init3 完全多用户

init4 未分配

init5 图形界面

init6 重启

查询系统运行级别

runlevel

退出登录命令

logout


名称栏目:linux单个命令 10个linux命令
网页网址:http://cdkjz.cn/article/dddhpjc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220