快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

linux连续注释命令 linux中注释符号

linux系统在 vim编译器中,,,注释符/* - - - - - - -*/ 和 // 以及 # 都是什么意思啊??有什么区别吗?

//和#一样,都是注释只不过是单行注释。

创新互联专注于双桥企业网站建设,成都响应式网站建设公司,电子商务商城网站建设。双桥网站建设公司,为双桥等地区提供建站服务。全流程定制网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

:起始行号,结束行号         /*  ------*/ 这个可以注释几行,中间可以断行,两边是匹配的。

系统:Linux

多行注释:

进入命令行模式--

将光标移动到要注释的第一行位置--

按ctrl + v进入 visual block模式--

按字母j或k(或者上下移动键)纵向选中需要注释的行--

按大写字母I,进入插入模式--

输入注释符号,例如##(需要添加几列就输入几个)--

按esc键就注释多行了。

取消多行注释(删除注释):进入命令行模式--

将光标移动到要取消注释的第一行第一列位置--

按ctrl + v进入 visual block模式--

按小写字母h或l横向选中列的个数,按小写字母j或k纵向选中行的个数(同样可以使用上下左右移动键)--按d键或者delete键就可多行取消注释。

扩展资料:

linux在vim下怎么批量替换或者注释:

:%s/foo/bar/g

把全部foo替换为bar,全局替换

:s/foo/bar/g

当前行替换foo为bar

:%s/foo/bar/gc

替换每个foo为bar,但需要确认.

:%s/\/bar/gc

单词匹配替换, 需确认

%s/foo/bar/gci

忽略foo大小写,替换为bar, 需确认

Linux下如何同时注释多行/同时取消多行注释

ctrl+v

下拉选择多行

shift+i

输入#

就注释了

删掉就

选择后按x

linux怎么注释磁盘

命令 该命令的注释 fdisk -l 查看当前磁盘的分区状况 fdisk /dev/sda 让硬盘进入分区模式,所分的磁盘在 /dev 下的 sda 这块磁盘 partprobe 将分区信息读到内核中 mkfs.ext2 /dev/sda5 将 /dev下的 sda5 磁盘格式化为

求linux基本命令

常用系统服务

============

acpi-support 高级电源管理支持

acpid acpi守护程序.这两个用于电源管理,非常重要

alsa 声音子系统

alsa-utils

anacron cron的子系统,将系统关闭期间的计划任务,在下一次系统运行时执行。

apmd acpi的扩展

atd 类似于cron的任务调度系统。建议关闭

binfmt-support 核心支持其他二进制的文件格式。建议开启

bluez-utiles 蓝牙设备支持

bootlogd 启动日志。开启它

cron 任务调度系统,建议开启

cupsys 打印机子系统。

dbus 消息总线系统(message bus system)。非常重要

dns-clean 使用拨号连接时,清除dns信息。

evms 企业卷管理系统(Enterprise Volumn Management system)

fetchmail 邮件用户代理,用于收取邮件

gdm gnome登录和桌面管理器。

gdomap

gpm 终端中的鼠标支持。

halt 别动它。

hdparm 调整硬盘的脚本,配置文件为“/etc/hdparm.conf”。

hibernate 系统休眠

hotkey-setup 笔记本功能键支持。支持类型包括: HP, Acer, ASUS, Sony, Dell,和IBM。

hotplug and hotplug-net 即插即用支持,比较复杂,建议不要动它。

hplip HP打印机和图形子系统

ifrename 网络接口重命名脚本。如果您有十块网卡,您应该开启它

inetd在文件“/etc/inetd.conf”中,注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。

klogd 重要。

linux-restricted-modules-common受限模块支持。“/lib/linux-restricted-modules/”文件夹中的模块为受限模块。例如某些驱动程序,如果您没有使用受限模块,就不需要开启它。

lvm 逻辑卷管理系统支持。

makedev 创建设备文件,非常重要。

mdamd 磁盘阵列

module-init-tools 从/etc/modules加载扩展模块,建议开启。

networking 网络支持。按“/etc/network/interfaces”文件预设激活网络,非常重要。

ntpdate 时间同步服务,建议关闭。

pcmcia pcmcia设备支持。

powernowd 移动CPU节能支持

ppp and ppp-dns 拨号连接

readahead 预加载库文件。

reboot 别动它。

resolvconf 自动配置DNS

rmnologin 清除nologin

rsync rsync守护程序

sendsigs 在重启和关机期间发送信号

single 激活单用户模式

ssh ssh守护程序。建议开启

stop-bootlogd 在2,3,4,5运行级别中停止bootlogd服务

sudo 检查sudo状态。重要

sysklogd 系统日志

udev udev-mab 用户空间dev文件系统(userspace devfilesystem)。重要

umountfs 卸载文件系统

urandom 随机数生成器

usplash 开机画面支持

vbesave 显卡BIOS配置工具。保存显卡的状态

xorg-common 设置X服务ICE socket。

adjtimex 调整核心时钟的工具

dirmngr 证书列表管理工具,和gnupg一起工作。

hwtools irqs优化工具

libpam-devperm 系统崩溃之后,用于修理设备文件许可的守护程序。

lm-sensors 板载传感器支持

mdadm-raid 磁盘陈列管理器

screen-cleanup 清除开机屏幕的脚本

xinetd 管理其他守护进程的一个inetd超级守护程序

系统管理

========

一些细节

--------

Linux是大小写敏感的系统,所有的命令、路径、参数、变量……都区分大小写

您可以使用TAB键补全您的命令,无论任何时候,多按几次TAB总会有所帮助

Shell的功能键能够协助您更高效的编辑命令,请熟悉其键绑定,尽量使用它

命令由命令名、分隔符、参数、操作对象构成

命令名标识命令的功能,例如cp(copy)、mv(move)、rm(remove)……

有些命令包含一些子命令,您可以认为它的命令名由两个单词构成,例如“apt”软件包管理系统:

apt-get install 安装一个软件

apt-get remove 删除一个软件

分隔符为空格,多个连续的空格视为一个空格,下面两个命令相同:

cp a b

cp a b

有一些特殊符号也属于分隔符,例如管道(“|”)、重定向(“”、“”、“”)、后台运行(“”)、序列执行(“”、“;”)。使用这些符号时,您不需要再使用空格作为分隔符,例如:

ls -al|less

我们写为以下形式,只是为了您更容易的阅读它:

ls -al | less

参数可以精细调节命令的行为,以“-”引导,通常为参数名的首字母。许多软件都可以使用“-h”参数来阅读使用说明,例如:

apt-get -h

您也可以使用参数的全名,一般以“--”引导,例如:

apt-get --help

多数命令中,使用“-”引导多个字符,将会被视为多个参数,例如:

apt-get -help

系统会解读为以下命令

apt-get -h -e -l -p

少数命令的参数,不需要以“-”引导,或者使用“-”引导参数全名,例如:

ps aux

/etc/init.d/gdm start

mplayer -loop xxx

当您需要对多个对象进行操作时,您可以使用空格分隔符将它们隔开:

touch 1 2 3 4 5 6

使用空格分隔的多个对象,视为一个整体,作为命令的一个操作对象:

mv 1 2 3 4 5 6 /home/

这个命令把“1 2 3 4 5 6”作为一个操作对象,移动到另一个操作对象,“/home/”目录

递归表示在子层次中重复相同操作。例如递归复制某目录,不但复制当前目录及其下的所有文件;而且对当前目录的子目录,也进行递归复制的操作。

格式约定

--------

使用“[]”表示可选项,实际输入为方括号中的内容,例如

ls [-al]

ls是必须的,参数不需要以方括号包围起来。

使用“”表示必需项,实际输入为尖括号中的内容

使用“|”表示“或”,以“|”分隔的项目不能同时使用,例如

tar [-z|j c|x vf] 归档文件 [源文件]

参数通常紧跟命令名,除非必要,在命令格式中,我们通常省略它们

系统信息

--------

uptime

联机信息-时间,显示如下

11:27pm up 9 days, 7:12, 3 user, load average: 0.07, 0.12,0.14

当前系统时间 系统运行时间 当前在线用户数 系统负荷 1分钟前 5分钟前 15分钟前

w

联机信息-已登录用户,显示如下

01:04:10 up 1:34, 2 users, load average: 0.25, 0.16, 0.11

uptime 信息

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

user tty1 192.168.0.1 23:30 1:33 0.14s 0.12s -bash

用户名 登录方式 来源地址 登录时间 发呆时间 资源占用 当前任务

Tips:w [用户名称] : 显示某一用户相关信息

who

联机信息,常用参数

-r 运行级别

whoami

显示当前用户名

last

最近用户登录信息

-数字 使用数字作为参数,控制显示条目。例如

last -10 显示10条纪录

uname

系统信息

-s 内核名称(默认参数)

-a 全部

-p CPU信息

-n 主机名

-r 内核发行信息(版本号)

-v 内核版本信息

date

显示、设定系统时间

-u 显示格林尼洛时间(UTC)

MMDDhhmm[[CC]YY][.ss] 设定时间,需要管理员权限。例如: date 12292359

MM 月份 DD 天数 hh 小时 mm 分钟 CC 年份前两位 YY 年份后两位 ss 秒钟

秒钟、年份为可选,例如: date 122923592006.59

+[%X]设定显示格式,以下为date默认输出格式:

date +%Y年\ %m月\ %d日\ %A\ %H:%M:%S\ %Z

格式控制

%n 换行

%t 制表符

小时

%H(00~23) %I(01~12) %k(0~23) %l(1~12) %p(AM|PM)

分、秒

%M分钟(00~59)

%S秒(00..61)

%T(hh:mm:ss) %r(hh:mm:ss [AM|PM])

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

%X(%H:%M:%S)

%Z时区

星期

%a(Sun~Sat) %A(Sunday~Saturday) %w : 一周中的第几天 (0..6)

年份

%Y(0000~9999) %y(00~99)

月份

%m(01~12) %b %h(Jan~Dec) %B(January~December)

日期

%d(01~31) %j(001~366)

%x(本地格式mm/dd/yy) %D(mm/dd/yy) %c

一年中的第几周

%U(00~53)以Sunday为一周的第一天 %W(00~53)以Monday为一周的第一天

cal

显示日历

文件管理

--------

链接

为当前文件建立在其它路径中的访问方法。例如将系统中其它位置的可执行文件,链接到“/usr/local/bin”目录下,使用命令调用。

ls [路径]

显示当前目录文件列表

--color 不同属性以不同颜色显示(默认参数)

-a 全部显示

-i 显示inode值

-l 详细信息

-F 显示文件类型后缀 目录/ 链接@ 可执行文件* 端口文件= 管道文件|

-A 显示隐藏文件

-R 递归显示子目录文件列表

-S 按文件大小排序

-t 按修改时间排序

-u 按访问时间排序

-d 只显示目录,不递归显示目录下的文件

cd [目录路径] | [特殊路径]

切换目录

目录路径可以使用绝对路径或者相对路径

特殊路径:

~ $HOME目录(默认值)

- 上一次目录

.. 上一级目录

. 当前目录

Tips:您可以通过修改“/etc/environment”文件,来定义$CDPATH变量,设定“cd”命令的搜索路径。

pwd

显示当前路径

file 文件名

显示文件类型

-i 显示mime类型

du [文件名]

计算文件或目录空间占用

-h 人性化显示。自动以G、M、K为单位显示占用空间大小

-l 重复计算硬链接文件大小

-L 计算符号链接文件大小

-a 显示当前目录子目录中的文件

-c 显示文件数

less 文件名

浏览文件,使用VI和Emacs两种风格的键绑定。以下为VI风格键绑定

Ctrl+f(orward) 向下翻一页 Ctrl+d(own) 向下翻半页

Ctrl+b(ackward) 向上翻一页 Ctrl+u(p) 向上翻半页

/ 查找 q(uit) 退出

touch 目标文件

创建一个空文件

cp 源文件目标目录|文件

将源文件复制为目录文件,或者将源文件复制到目标目录。多个源文件使用空格分隔

cp 源目录目标目录

将源目录复制到目标目录中,如果复制多个源目录,需要使用“-R”参数

-a 相当于-dpr参数

-d 保留链接

-f 强制复制,覆盖目标文件

-i 覆盖时询问用户

-p 保留修改时间和访问权限

-r -R 递归复制(目录=目录)

-l 创建链接

-v 显示过程

rm 目标目录|文件

-r -R 递归删除

-f 强制删除(无需确认,直接删除。慎用!)

-i 交互式删除(询问用户)

rmdir 目标目录

删除目录时,建议您使用“rm -r”命令

mv 源文件目标目录|文件

相当于cp后删除源文件,也可以作为“重命名”使用。

mv 源目录目标目录

-r -R 递归

ln 源文件链接

-s 符号链接

-f 强制链接,覆盖目标文件

-i 覆盖前询问用户

文件操作

--------

nano

一个简单轻便的文本编辑器,使用Emacs风格的键绑定。

split 源文件 [目标文件名前缀]

将源文件按一定规则分割成若干个目标文件。默认文件名前缀为“x”

-行数 按行数分割文件

-l 行数 同上

-b 字节按大小分割文件。可以使用b、k、m作单位,不指定单位的情况下,默认单位为b

-C 字节 按大小分割文件,并尽量保持每行的完整

示例:

split -C 100k file.split x

cat 文件名

输出文件内容。用空格分隔多个文件名,可以将多个文件内容连接到一起输出。使用重定向合并为一个文件

-n 在输出中添加行号

-b 在输出中添加行号,空行不编号

-s 将两行或以上的空行,合并为一个空行

示例:

cat xaa xab xac file.split

sort [-o 输出文件] [-t分隔字符][+起始字段 -结束字段] [文件]

对文本内容排序

-m 合并文件

-c 检查文件是否已按规则排序

-b 忽略行首空格字符

-u 忽略内容重复行

-f 忽略大小写

-l 忽略非打印字符

-M 作为月份比较

-d 按字典顺序排序,按照字母、数字、空格、制表符排序

-r 逆序输出

more

查看文件内容,我们建议您使用“less”

diff 文件名

比较文件

cksum [文件名]

计算文件的CRC值。不指定文件名则从标准输入设备读入数据,例如:

echo xxx | cksum

md5sum [文件名]

计算文件的md5值。同上

权限管理

--------

一个文件主要包含下列属性,“ls -l”

- rwx rwx rwx user group date filename

111 101 101

其中,第一组为归属用户的权限,第二组为归属群组的权限,第三组为其它用户群组的权限。user为文件的归属用户,group为文件的归属群组,date为日期信息,filename为文件名。

可以使用3位的二进制数字来描述一组权限,某一权限对应的数字为1,则表示具有该种权限,为0,则不具有该种权限。

对于文件夹,必须拥有它的可执行权限,才能够使用“cd”命令进入该文件夹;拥有可读权限,才能够使用“ls”命令查看该文件夹的文件列表。

root用户拥有最高权限。

使用二进制数字来描述一组权限,虽然非常直观,但是3组权限需要用9位数来表示,使用不够方便。因此我们将三组权限使用3位8进制数字来表示。它们的对应关系为:

r 100 4

w 010 2

x 001 1

将这三位8进制数字相加的结果,就可以表示该组权限的具体内容,例如:

7=4+2+1=rwx

5=4+1=rx

755=4+2+1 4+1 4+1=rwx r-x r-x

我们还可以使用“a、u、g、o”表示归属关系,使用“=、+、-”表示权限变化,使用“r、w、x”表示权限内容,

a 所有用户 u 归属用户 g 归属群组 o 其它用户

= 具有权限 + 增加权限 - 去除权限

r 可读权限 w 可写权限 x 可执行权限

例如:

a+x 给所有用户增加可执行权限

go-wx 将归属群组和其它用户的可写、可执行权限去掉

u=rwx 归属用户具有可读、可写、可执行权限

chmod 权限表达式文件|目录

改变文件的权限。权限的表达式可以使用三位8进制数字表示,或者使用augo+-=rxw-s来表示

-R 递归

-v 显示过程

-c 类似“-v”,仅显示更改部分

--reference=参考文件或目录以指定文件为参考改变权限

示例:

chmod -R a+x path

chmod -Rv 755 path

chown 归属用户[:归属群组]文件|目录

改变文件的归属用户。可以使用用户名或者UID

-R 递归

-v 显示过程

-c 类似“-v”,仅显示更改部分

--reference=参考文件或目录以指定文件为参考改变权限

示例:

chown user:admin path

chown -R user.admin path

chown user path

chgrp 归属群组文件|目录

改变文件的归属群组。可以使用群组名或者GID

参数同上

SUID、SGID、Sticky bit

某些情况下,需要以可执行文件归属用户的身份执行该文件,可以为该文件设置SUID。同样,设置SGID能够以该文件归属群组的身份执行它。

例如:用户自行设定密码。

出于安全方面的考虑,“/etc/shadow”只能由root用户直接修改。

-rw------- root root /etc/shadow

这个时候,可以为程序“/usr/bin/passwd”设置SUID,当普通用户执行“passwd”命令时,便能够以该程序归属用户root的身份修改“/etc/shadow”文件。而“passwd”程序自身带有身份验证机制,不能通过验证时拒绝执行,从而保证了安全。

ls -l /usr/bin/passwd

-r-s--x--x root root /usr/bin/passwd

我们发现,归属用户的可执行权限位使用“s”,表示SUID。同样,归属群组的可执行权限位使用“s”,表示SGID。

任何用户或群组都拥有“其它用户”的权限,所以不需要以“其它用户”身份执行文件,其它用户的可执行权限位便不会出现“s”。该权限位可能出现的属性为“t”,也就是粘着位Stickybit。

ls -ld /tmp

drwxrwxrwt root root /tmp

粘着位表示任何用户都可能具有写权限,但只有该归属用户或root用户才能够删除

SUID、SGID、Sticky bit也可以像权限一样,使用一个八位数表示,如下:

4 SUID

2 SGID

1 Sticky bit

通过在“chmod”命令中使用四个八位数的表达式,如“4755”,用第一位表示SUID、SGID、或Stickybit,便能够为文件设置这些特殊权限。

示例:

chmod -R 4755 path

lsattr [路径]

查看文件的特殊属性

-a 全部显示

-d 只显示目录

-R 递归

特殊属性包括:

a:仅供附加用途

b:不更新最后存取时间

c:压缩后存放

d:排除在倾倒操作之外

i:不得任意更动文件或目录

s:保密性删除文件或目录

S:即时更新文件或目录

u:预防以外删除

chattr+|-|=abcdisSu路径

-R 递归

-V 显示过程

30个必知的Linux命令技巧,你都掌握了吗

在Unix/Linux下,高效工作方式不是操作图形页面,而是命令行操作,命令行意味着更容易自动化。使用过Linux系统的朋友应该都知道它的命令行强大之处。话说回来了,以下这些命令使用技巧你又知道多少呢?

1、Vim自动添加注释及智能换行

# vi ~/.vimrc set autoindentset tabstop=4set shiftwidth=4function AddTitle()call setline(1,"#!/bin/bash")call append(1,"#====================================================")call append(2,"# Author: lizhenliang")call append(3,"# Create Date: " . strftime("%Y-%m-%d"))call append(4,"# Description: ")call append(5,"#====================================================")endfmap F4 :call AddTitle()cr

打开文件后,按F4就会自动添加注释,省了不少时间:

2、查找并删除/data这个目录7天前创建的文件

# find /data -ctime +7 -exec rm -rf {} \;# find /data -ctime +7 | xargs rm -rf

3、tar命令压缩排除某个目录

# tar zcvf data.tar.gz /data --exclude=tmp #--exclude参数为不包含某个目录或文件,后面也可以跟多个

4、查看tar包存档文件,不解压

# tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件

5、使用stat命令查看一个文件的属性

访问时间(Access)、修改时间(modify)、状态改变时间(Change)stat index.phpAccess: 2018-05-10 02:37:44.169014602 -0500Modify: 2018-05-09 10:53:14.395999032 -0400Change: 2018-05-09 10:53:38.855999002 -0400

6、批量解压tar.gz

方法1:# find . -name "*.tar.gz" -exec tar zxf {} \;方法2:# for tar in *.tar.gz; do tar zxvf $tar; done方法3:# ls *.tar.gz | xargs -i tar zxvf {}

7、筛除出文件中的注释和空格

方法1:# grep -v "^#" httpd.conf |grep -v "^$"方法2:# sed -e ‘/^$/d’ -e ‘/^#/d’ httpd.conf http.conf或者# sed -e '/^#/d;/^$/d' #-e 执行多条sed命令方法3:# awk '/^[^#]/|/"^$"' httpd.conf 或者# awk '!/^#|^$/' httpd.conf

8、筛选/etc/passwd文件中所有的用户

方法1:# cat /etc/passwd |cut -d: -f1方法2:# awk -F ":" '{print $1}' /etc/passwd

9、iptables网站跳转

先开启路由转发:echo "1" /proc/sys/net/ipv4/ip_forward #临时生效内网访问外网(SNAT):iptables –t nat -A POSTROUTING -s [内网IP或网段] -j SNAT --to [公网IP]#内网服务器要指向防火墙内网IP为网关公网访问内网(DNAT)(公网端口映射内网端口):iptables –t nat -A PREROUTING -d [对外IP] -p tcp --dport [对外端口] -j DNAT --to [内网IP:内网端口]#内网服务器要配置防火墙内网IP为网关,否则数据包回不来。另外,这里不用配置SNAT,因为系统服务会根据数据包来源再返回去。

10、iptables将本机80端口转发到本地8080端口

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

11、find命令查找文件并复制到/opt目录

方法1:# find /etc -name httpd.conf -exec cp -rf {} /opt/ \;: #-exec执行后面命令,{}代表前面输出的结果,\;结束命令方法2:# find /etc -name httpd.conf |xargs -i cp {} /opt #-i表示输出的结果由{}代替

12、查看根目录下大于1G的文件

# find / -size +1024M 默认单位是b,可以使用其他单位如,C、K、M

13、查看服务器IP连接数

# netstat -tun | awk '{print $5}' | cut -d: -f1 |sort | uniq -c | sort -n -tun:-tu是显示tcp和udp连接,n是以IP地址显示cut -d:-f1:cut是一个选择性显示一行的内容命令,-d指定:为分隔符,-f1显示分隔符后的第一个字段。uniq -c:报告或删除文中的重复行,-c在输出行前面加上出现的次数sort -n:根据不同类型进行排序,默认排序是升序,-r参数改为降序,-n是根据数值的大小进行排序

14、插入一行到391行,包括特殊符号"/"

# sed -i "391 s/^/AddType application\/x-httpd-php .php .html/" httpd.conf

15、列出nginx日志访问最多的10个IP

方法1:# awk '{print $1}' access.log |sort |uniq -c|sort -nr |head -n 10sort :排序uniq -c:合并重复行,并记录重复次数sort -nr :按照数字进行降序排序方法2:# awk '{a[$1]++}END{for(v in a)print v,a[v] |"sort -k2 -nr |head -10"}' access.log

16、显示nginx日志一天访问量最多的前10位IP

# awk '$4="[16/May/2017:00:00:01" $4="[16/May/2017:23:59:59"' access_test.log |sort |uniq -c |sort-nr |head -n 10# awk '$4="[16/Oct/2017:00:00:01" $4="[16/Oct/2017:23:59:59"{a[$1]++}END{for(i in a){print a[i],i|"sort -k1 -nr |head -n 10"}}' access.log

17、获取当前时间前一分钟日志访问量

# date=`date +%d/%b/%Y:%H:%M --date="-1 minute"` ; awk -vd=$date '$0~d{c++}END{print c}' access.log# date=`date +%d/%b/%Y:%H:%M --date="-1 minute"`; awk -vd=$date '$4="["d":00" $4="["d":59"{c++}END{print c}' access.log # grep `date +%d/%b/%Y:%H:%M --date="-1 minute"` access.log |awk 'END{print NR}'# start_time=`date +%d/%b/%Y:%H:%M:%S --date="-5 minute"`;end_time=`date +%d/%b/%Y:%H:%M:%S`;awk -vstart_time="[$start_time" -vend_time="[$end_time" '$4=start_time $4=end_time{count++}END{print count}' access.log

18、找出1-255之间的整数

方法1:# ifconfig |grep -o '[0-9]\+' #+号匹配前一个字符一次或多次方法2:# ifconfig |egrep -o '\([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\'

19、找出IP地址

# ifconfig |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' #-o只显示匹配字符

20、给文档增加开头和结尾说明信息

# awk ‘BEGIN{print "开头显示信息"}{print $1,$NF} END{print "结尾显示信息"}’/etc/passwd# awk 'BEGIN{printf " date ip\n------------------\n"} {print $3,$4} END{printf "------------------\nend...\n"}' /var/log/messages date ip------------------03:13:01 localhost10:51:45 localhost------------------end...

21、查看网络状态命令

# netstat -antp #查看所有网络连接# netstat -lntp #只查看监听的端口信息# lsof -p pid #查看进程打开的文件句柄# lsof -i:80 #查看端口被哪个进程占用

22、生成8位随机字符串

方法1:# echo $RANDOM |md5sum |cut -c 1-8方法2:# openssl rand -base64 4方法3:# cat /proc/sys/kernel/random/uuid | cut -c 1-8

23、while死循环

while true; do #条件精确等于真,也可以直接用条件[ "1" == "1" ],条件一直为真ping -c 2

24.awk格式化输出

将文本列进行左对齐或右对齐。

左对齐:# awk '{printf "%-15s %-10s %-20s\n",$1,$2,$3}' test.txt右对齐:# awk '{printf "%15s %10s %20s\n",$1,$2,$3}' test.txt

25.整数运算保留小数点

方法1:# echo 'scale=2; 10/3;'|bc #scale参数代表取小数点位数方法2:# awk BEGIN'{printf "%.2f\n",10/3}'

26.数字求和

# cat a.txt10235356方法1:#!/bin/bashwhile read num;dosum=`expr $sum + $num`done a.txtecho $sum方法2:# cat a.txt |awk '{sum+=$1}END{print sum}'

27、判断是否为数字(字符串判断也如此)

# [[ $num =~ ^[0-9]+$ ]] echo yes || echo no #[[]]比[]更加通用,支持模式匹配=~和字符串比较使用通配符`^ $:从开始到结束是数字才满足条件=~:一个操作符,表示左边是否满足右边(作为一个模式)正则表达式

28、删除换行符并将空格替换别的字符

# cat a.txt |xargs echo -n |sed 's/[ ]/|/g' #-n 不换行# cat a.txt |tr -d '\n' #删除换行符

29、查看文本中20至30行内容(总共100行)

方法1:# awk '{if(NR 20 NR 31) print $0}' test.txt方法2:# sed -n '20,30p' test.txt 方法3:# head -30 test.txt |tail

30、文本中两列位置替换

# cat a.txt60.35.1.15 awk '{print $2"\t"$1}' a.txt


网页名称:linux连续注释命令 linux中注释符号
文章地址:http://6mz.cn/article/doodces.html

其他资讯