导航:首页 > 文件类型 > linux下shell文件执行命令

linux下shell文件执行命令

发布时间:2023-04-18 22:53:11

❶ 如何在linux系统中执行Shell文件

首先你要让文件有能够执行的权限,比如你的文件是a.sh那么你可以chmod
x
a.sh然后运行文件就可以了./a.sh这样运行是a.sh在当前工作目录,如果文件没在当前目录,那么就需要用绝对路径来执行,比如/opt/a.sh
,/opt/test/a.sh,如果想知道更多的linux相关可以关注《linux就该这么学》这本书。

❷ Linux系统下“Shell”重复执行上条命令都有哪几种方法

方春备巧法一

for i in {1..10}; do echo "Hello, World";

方法二

在~/.bashrc文件中创建滚梁一个run函数:

function run() {

number=$1

shift

for n in $(seq $number); do

$@

done

}

1

2

3

4

5

6

7

使./bashrc生效

souce ~/./bashrc

1

示扒键例

run 10 echo "Hello, World"

❸ 求助:LINUX常用SHELL命令

分类: 电脑/网络 >> 操作系统/系统故障
问题描述:

欢迎大家的投稿!!!!!!!

解析:

LINUX常用命令

1 文件与目录操作命令

1.1文件内容查询命令

grep、fgrep、egrep

CODE:[Copy to clipboard]语法:grep[选项][查找模式][文件名1,文件名2,……]

选项:

QUOTE:

-E 每个模式作为一个扩展的正则表达式对待

-F 每个模式作为一组固定字符串对待,而不作为正则表达式

-i 比较时不区分大小写

-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;

-x 只显示整行严格匹配的行

1.2文件查找命令 find、locate

语法:

CODE:[Copy to clipboard]find 起始目录 寻找条件 操作

以名称和文件属性查找

QUOTE:

-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。

-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。

-user‘字串‘ 查找属于用户名为所给字串的所有的文件。

-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。

-type x 查找类型为 x的文件,

语法:locate 相关字

1.3文件的复制、删除和移动命令

文件复制命令

CODE:[Copy to clipboard]cp [选项] 源文件或目录 目标文件或目录

选项:

QUOTE:

- a 通常在拷贝目录时使用

-d 拷贝时保留连接

-f 删除已经存在的目标文件而不提示

-i 和f选项相反

-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中

-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;

-l 不作拷贝,只是链接文件

文件移动命令

CODE:[Copy to clipboard]mv[选项] 源文件或目录 目标文件或目录

QUOTE:

-i 交互式操作

-f 禁止交互式操作

文件删除命令

CODE:[Copy to clipboard]rm[选项] 文件…

QUOTE:

-f 忽略不存在的文件,从不给出提示

-r 指示rm将参数中列出的全部目录和子目录均递归地删除

-i 进行交互式删除

1.4文件链接命令

CODE:[Copy to clipboard]ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录

QUOTE:

选项:

- s 建立符号链接

1.5目录的创建和删除命令

mkdir 创建一个目录

语法:

CODE:[Copy to clipboard]mkdir [选项] dirname

选项:

- m 对新建目录设置存取权限

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir 删除空目录

语法:

CODE:[Copy to clipboard]rmdir [选项] dirname

QUOTE:

选项:

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

1.6改变工作目录,显示目录内容命令

1、改变工作目录:

CODE:[Copy to clipboard]cd [directory]

2、显示当前工作的目录的绝对路径:

CODE:[Copy to clipboard]pwd

3、显示目录内容:

CODE:[Copy to clipboard]ls [选项] [目录或是文件]

QUOTE:

选项:

- a 显示指定目录下所有子目录与文件,包括隐藏文件;

-c 按照文件的修改时间排序

-C 分成多列显示各项

-d 如果参数是目录,只显示其名称而不显示其下的个文件

-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

-l 以长格式来显示文件的详细信息

-L 若指定的名称为一个符号链接,则显示链接所指向的文件

-t 显示时按修改时间而不是名字排序

-u 显示时按文件上次存取的时间而不是名字排序

4、改变文件或目录的访问权限命令

CODE:[Copy to clipboard]chmod [who] [+| - | = ] [mode] 文件名?

QUOTE:

Who选项:

- u表示用户,即文件和目录的所有者

-g表示同组用户

-o(other)表示其他用户

-a (all)表示所有用户

QUOTE:

操作符号:

+ 添加某个权限 - 取消某个权限

= 赋予给定权限并取消其他所有的权限(如果有的话)

QUOTE:

mode 选项:

- r 可读

-w 可写

-x 可执行

CODE:[Copy to clipboard]chgrp [-R] group filename? 改变目录或文件所属的组

CODE:[Copy to clipboard]chown [-Rv] 用户或组 文件

1.7备份与压缩命令

1、tar命令 为文件和目录创建档案

语法:

CODE:[Copy to clipboard]tar [主选项+辅助选项] 文件或者目录

QUOTE:

u 主选项

c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项

r 把要存档的文件追加到档案文件的末尾

t 列出档案文件的内容,查看已经备份了哪些文件;

u 更新文件

x 从档案文件中释放文件;

u 辅助选项

b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20

f 使用档案文件或设备,这个选项通常是必选的

k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;

m 在还原文件时,把所有文件的修改时间设定为现在;

M 创建多卷的档案文件,以便在几个磁盘中存放;

v 详细报告tar处理的文件信息

w 每一步都要求确认

z 用gzip来压缩/解压缩文件

2、gzip命令 压缩/解压缩命令

语法:

CODE:[Copy to clipboard]gzip [选项] 压缩(解压缩)的文件名

QUOTE:

选项:

-c 将输出写到标准输出上,并保留原有文件

-d 将压缩文件解压

-l 显示每个压缩文件的详细信息

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩

-t 测试、检查压缩文件是否完整

-v 对每一个压缩和解压的文件,显示文件名和压缩比

3、unzip 命令

用MS windows下的压缩软件winzip压缩的文件在linux系统下展开

语法:

CODE:[Copy to clipboard]unzip [选项] 压缩文件名.zip

QUOTE:

选项:

-x 文件列表 解压缩文件,但不包括指定的file文件

-v 查看压缩文件目录,但不解压

-t 测试文件有无损坏 ,但不解压

-d 目录 将压缩文件解到指定目录下

-z 只显示压缩文件的注解

-n 不覆盖已经存在的文件

-o 覆盖已经存在的文件且不要求用户确认

-j 不重建文档的目录结构,把所有文件解压到同一目录下

1.8在LINUX环境下运行DOS命令

linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。

QUOTE:

mcd 目录名 改变MSDOS目录

m 源文件 目标文件 在MSDOS和UNIX之间复制文件;

mdel 目录名 删除MSDOS目录

mdir 目录名 显示MSDOS目录

mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统

rnlabel 驱动器号 产生MSDOS卷标

mmd 目录名 删除MSDOS目录

mren 源文件 目标文件 重新命名已存在的MSDOS文件

mtype 文件名 显示MSDOS文件的内容

2 设备管理命令

1)linux采用下面的形式定义一个IDE硬盘:

CODE:[Copy to clipboard]/dev/hd[drive][partition]

2)SCSI硬盘使用同样的机制表示:

CODE:[Copy to clipboard]/dev/sd[drive][partition]

3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:

CODE:[Copy to clipboard]mk2fs –c <partition>; <size>;

4)装载文件系统:

CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont

其中,

QUOTE:

-t为指定装载文件系统的类型;

-o指定一些选项,如只读ro,可读可写rw等等;

partition定义分区名称;

mountpiont定义文件系统被装载的目录名称。

5)装载CD-ROM文件系统:

CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)装载软驱文件系统:

CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸载文件系统

CODE:[Copy to clipboard]umount /mnt/cdrom

磁带设备的安装要注意以下几点:

QUOTE:

1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置

2、 选择驱动程序

3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)

用 ls /dev/*rst*

检查磁带设备文件是否存在,如果不存在,用

mknod –m 666 /dev/nrst0 c 9 9

mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如

mt setblk 20 将块长度指定为20

mt setblk 0 指定块程度没有限制

5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息:

aha274x:target 4now synchronous at 4.4Mb/s

Vendor:TANDBERG Model:TDC 3800 Rev: =05:

Type: Sequential-Access ANSI SCSI revision: 02

Detected scsi tape st0 at scsi0, id4, lun0

Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 软件包管理命令

3.1软件安装的步骤

在LINUX系统上安装软件的步骤有:

QUOTE:

1、 查找所要安装软件的源文件

2、 把源文件解开放到一个目录中,命令如下:

tar zxvf <源文件名>;

3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure

4、 make源文件,通常是运行make命令,即执行 make

5、 安装二进制文件和其他支撑文件,运行命令: make install

6、 最后,完成所有其他必须的配置

3.2软件包管理命令

QUOTE:

rpm –ivh <软件包>;

安装指定的软件包,并在安装过程中用#表示安装的进度

rpm –Uvh <软件包>;

更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本

rpm –e

卸载一个rpm软件包

rpm –qa

查看系统中已经安装的软件包

rpm –q <软件包>;

查看系统中某个软件包的版本号;

rpm –qlp <软件包>;

列出某个软件包中的所有文件

rpm –qf <软件包>;

找出一个文件属于哪个软件包

4 LINUX系统常用命令

4.1 与系统管理有关的命令

Wall (Write All)

QUOTE:

对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:

# wall < FileName

例:Wall ‘Thank you !’

Write

向某一用户发送信息。

Write xxq

hello

输入Ctrl+C组合即可终止

Shutdown命令

CODE:[Copy to clipboard]Shutdown [选项] [时间] [警告信息]

QUOTE:

-k 并不真正关机,而只是发出警告信息给所有的用户。

-r 关机后立即重新启动。

-h 关机后不重新启动。

-f 快速关机,启动时跳过fsck。

-n快速关机,不经过init程序。

-c 取消一个已经运行的shutdown

例:系统马上关机:Shutdown –h now

Free命令

查看当前系统内存的使用情况,

CODE:[Copy to clipboard]Free [-b] [-k] [-m]

CODE:[Copy to clipboard]-b 以字节为单位显示。

-k 以K字节为单位显示。

-m 以M字节为单位显示。

Uptime

QUOTE:

显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

4.2与用户有关的命令

Passwd命令

设置、更换用户口令。

CODE:[Copy to clipboard]Passwd [用户名]

Su

使一个普通的用户具有超级用户的权利,离开可用EXIT命令。

4.3其它命令

Echo命令

在显示器上显示一段文字,一般起到一个提示的作用。

CODE:[Copy to clipboard]echo [-n] 字符串

Cal命令

显示某年某月的日历。

CODE:[Copy to clipboard]cal [选项] [月[年]]

QUOTE:

选项的含义:

-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。

-y 显示也整年的日历。

Date命令

date命令的功能是显示和设置系统日期和时间。

4.4磁盘管理

磁盘空间管理

df命令

检查文件系统的磁盘空间占用局部。

CODE:[Copy to clipboard]Df [选项]

QUOTE:

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k 以K字节为单位显示。

-i 显示i节点信息,而不是磁盘块。

- t 显示各指定类型的文件系统的磁盘空间使用情况。

-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。

-T 显示文件系统类型。

命令

的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。

CODE:[Copy to clipboard] [选项] [Names…]

QUOTE:

-s 对每人Names 参数只给也占用的数据块总数。

-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。

-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)

-k 以1024字节为单位列也磁盘空间使用情况。

-c 最后再加上一个总计(系统缺省)

-l 计算所有的文件大小,对硬链接文件,则计算多次。

-x 跳过在不同文件系统上的目录不予统计。

dd命令

把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:

CODE:[Copy to clipboard]dd 〔选项〕

QUOTE:

if =输入文件(或设备名称)。

of =输出文件(或设备名称)。

ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。

skip = blocks 跳过读入缓冲区开头的ibs*blocks块。

obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。

bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。

cbs = bytes 一次转换bytes字节。

count = blocks 只拷贝输入的blocks块。

conv = ASCII 把EBCDIC码转换为ASCII码。

conv = ebcdic 把ASCII码转换为EBCDIC码。

conv = ibm 把ASCII码转换为alternate EBCDIC码。

conv = blick 把变动位转换成固定字符。

conv = ublock 把固定们转换成变动位

conv = ucase 把字母由小写变为大写。

conv = lcase 把字母由大写变为小写。

conv = notrunc 不截短输出文件。

conv = swab 交换每一对输入字节。

conv = noerror 出错时不停止处理。

conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。

fdformat命令

低级格式化软盘。

CODE:[Copy to clipboard]format [-n] device

QUOTE:

-n 格式化后不做检验

4.5常用的网络命令

FTP命令

Tel命令。

Netstat命令

QUOTE:

-a 显示所有的scoket,包括正在监听和。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同”ifconfig –e”

-n 以网络IP地址代替名称,显示也网络连接情形。

-r 显示核心路由表,格式同”route –e:。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。

nslookup命令。

finger命令,功能是查询用户的信息。

ping命令。

(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有关进程的命令。

进程和启动

CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]时间

at –c 作业 [作业….]

AT命令启动的进程系统只执行一次。

batch [-V] [-q 队列] [-f 文件名] [-mv] [时间]

在系统负载较小时,资源比较空闲时执行。

cron命令

按一定的时间间隔执行命令。

crontab命令

用于安装、删除或列出用于驱支cron后台进程的表格。

进程查看

CODE:[Copy to clipboard]who命令。

w命令

是一个比who命令更强大的命令

w –[husfV] [user]

-h 不显示标题。

-u 当列出当前进程和CPU时间时忽略用户名。

-s 使用短模式。不显示登录时间JCPU和PCPU时间。

-f 切换显示FROM项,也就是远程主机名项。

-V 显示版本信息。

user 只显示指定用户的情况。

ps命令。

-e 显示所有进程。

-f 全格式

-h 不显示标题。

-l 长格式。

-w 宽输出。

a 显示终端上所有进程,包括其他用户的进程。

r 只显示正在运行的进程。

x 显示没有控制终端的进程。

top 命令

动态显示系统当前的进程和其他状况。

5系统的启动过程。

5.1初始启动

在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR)。MBR的格式是:

地址偏移量 内容 大小

+00 h 可执行的代码(启动模块) 可能变化

+1BE h 第一分区表项 16字节

+1CE h 第二分区表项 16字节

+1DE h 第三分区表项 16字节

+1EE h 第四分区表项 16字节

+1FE h 可执行的标记(AA55 h) 2字节

启动模块包含足以装入操作系统的代码,或者是第二步的加载代码的位置。启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT 13h等,限制了最大磁盘柱面号为1023。这也就是说启动模块需要加载的一切内容,如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内。

在MBR中只有四个分区表项,每个表项的格式如下:

地址偏移 内容 大小

+00h 分区状态:00代表非启动分区,80h代表启动分区 1字节

+01h 分区的起始位置 磁头 1字节

+02h 分区的起始位置 柱面和扇区 1字节

+04h 分区的类型 1字节

+05h 分区的结束位置 磁头 1字节

+06h 分区的结束位置 柱面和扇区 1字节

+08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节

+0Ch 分区内的扇区数目 4字节

5.2 Linux的启动过程

1启动的命令行参数

在Linux启动时,它处理所有传递给它的命令行参数。这可以影响Linux的运行方式。命令行参数包括:

QUOTE:

mem=xxxM:定Linux可以使用的内存大小。这在用户的计算机系统有超过64MB的内存时才需要。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个计算机的性能下降,所有内存均按无缓存的速度运行。

single:使Linux按单用户方式启动,缺省方式是多用户方式。

root=/dev/xxx:指定Linux要安装为根文件系统的设备。

init=<file>;:指定作为初始化进程的文件。

initrd=<dev>;:指定作为初始内存磁盘的设备。

ro:指定根文件系统为只读。

rw:指定根文件系统为可读可写。

2 Init进程

在内核初始化自身和找到的硬件设备后,在后台启动进程init(/ *** in/init),init进程号1运行。

在UNIX世界中有许多启动过程的版本,一些是基于系统V,一些是基于BSD。大多数Linux版本使用系统V的实现方法,在这里描述的就是这样。

init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同。

QUOTE:

单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell。这样,用户就可以有了一个shell,而且可以执行一定限度的任务。

多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别。Init通过标准的Linux方法进入一个指定的进行级别。

3.进行级别

Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的。Linux共有6种运行级别。

QUOTE:

0:关闭计算机或终止计算机运行,这个级别就是系统停止运行。

1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录。

2:多用户运行级别,但无网络功能。在这个运行级别,网络功能没有启动,但是系统允许多个用户登录,可以通过虚拟控制台或串行线路。

3:多用户模式,有网络功能。在这个运行级别,所有标准网络服务均被启动。

4:目前没有实现。

5:X11运行级别,在这个运行级别,X服务器软件运行,提供图形界面的登录方式。

6:系统重新启动。

查询当前运行级别:runlevel;

4在启动过程中运行的脚本

在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录。不同的字母开头的文件有不同的作用。其中:

以K开头的脚本程序是系统离开某个运行级别时执行的,作用是停止某种服务。当系统从某个支持级别变为其他级别时,首先要进行原运行级别所对应的所有K程序。

以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序。

5增加启动脚本程序

用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作。通常步骤是:

复制一个已经存在的脚本,这样可以得到一个通用的框架格式。

修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数,尽管可能关闭处理什么也不需要干。

把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv”。

按下面的方法在相应的目录下建立运行控制链接:

CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv

进行测试。

6 LILO和其他的启动模块

要启动Linux,启动模块是必须的。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成。

下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件。在例子中的数字标号是用户加上去并要在文中详细解释的。

CODE:[Copy to clipboard]# more /etc/lilo.conf

boot=dev/had

map=/boot/map

instll/boot/boot.b

prompt

#表示启动盘是/dev/had,这是主IDE硬盘。

timeout=50

#表示等待用户输入的时间是50秒。

default=TL3.4

other=dev/hda1

#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4,即TurboLinux 3.4.0

label=dos

table=dev/had

#表示如果在LILO提示用户输入启动系统时,用户按了<Tab>;键,各个系统将以label的内容显示出来,供用户选择。

image=/mnt/tl3.4/boot/vmlinuz

label=TL3.4

root=/dev/hda3

read-only

TurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的。

CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7

label=RH5.2

root=/dev/hda4

read-only

RedHat的启动文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被确定,根文件系统在/dev/hda4,根文件系统可读写。

❹ Linux在执行shell脚本时提示find: command not found,单独执行该命令可以正常执行

出现此问题的原因:linux 执行sh文件里面缺少PATH=$PATH:/sbin,将其添加进即可解模乎卜决问题。

详细的操作步骤如下:

1、首先,需要打开计算机的桌面,右键单击并选择“打开终端”这一项,如下图所示。

❺ linux在当前目录运行shell脚本文件test.sh的命令是

假如一个腊肆文件名为test.sh的shell脚本,cd切换到该文件袭局神的目录,然后输入命令:在文件名前面加“./拍亏”。另外...

❻ 如何运行linux shell程序

如何运行shell程序,如何在shell程序以及后续脚本中使用同一个变量,这些在工作中经常用到, 我找到如下的文章,再加深复习一下。
1 source命令用法:
source FileName
作用:在当前bash环境下读取并执行FileName中的命令。该filename文件可以无"执行权限"
注:该命令通常用命令“.”来替代。
如:source .bash_profile
. .bash_profile两者等效。
source(或点)命令通常用于重新执行刚修改的初始化文档。
source命令(从 C Shell 而来)是bash shell的内置命令。
点命令,就是个点符号,(从Bourne Shell而来)。
source的程序主体是bash,脚本中的$0变量的值是bash,而且由于作用于当前bash环境,脚本中set的变量将直接起效

2 sh, bash的命令用法:
sh/bash FileName

作用:打开一个子shell来读取并执行FileName中命令。该filename文件可以无"执行权限"

注:运行一个shell脚本时会启动另一个命令解释器.
每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
shell脚本也可以启动他自已的子进程.
这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
在ubuntu中sh只是bash的一个链接。
由于是在子shell中执行,脚本设置的变量不会影响当前shell。

3 ./的命令用法:
./FileName
作用:打开一个子shell来读取并执行FileName中命令。该filename文件需要"执行权限"
注:运行一个shell脚本时会启动另一个命令解释器.
每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.
这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.
shell脚本也可以启动他自已的子进程.
这些子shell(即子进程)使脚本并行地,有效率地地同时运行脚本内的多个子任务.
由于是在子shell中执行,脚本设置的变量不会影响当前shell。

4 export:
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本
5. 举例
比如您在一个脚本里export $KKK=111 ,假如您用./a.sh执行该脚本,执行完毕后,您运行 echo $KKK ,发现没有值,假如您用source来执行 ,然后再echo ,就会发现KKK=111。因为调用./a.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反应到父shell里,但是 source不同他就是在本shell中执行的,所以能够看到结果.
小测试
1 建立test.sh
#!/bin/bash
export s=/home/jboss/
2 执行命令: source test.sh
echo $s
结果输出: /home/jboss/
3 新开个shell
执行命令: ./test.sh
echo $s
结果: 没有输出s值

结论:
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出。
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);
3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。3、不用 export定义的变量只对该shell有效,对子shell也是无效的。

直接执行一个脚本文件是在一个子shell中运行的,而source则是在当前shell环境中运行的。
source可以让脚本影响它们的父shell环境,这和export去影响子shell环境相反.

❼ linux操作系统的shell命令有哪些

1 文件与目录操作命令

1.1文件内容查询命令 grep、fgrep、egrep

语法:[选项][查找模式][文件名1,文件名2,……]

选项:

-E 每个模式作为一个扩展的正则表达式对待

-F 每个模式作为一组固定字符串对待,而不作为正则表达式

-i 比较时不区分大小写

-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;

-x 只显示整行严格匹配的行

1.2文件查找命令 find、locate

语法:

find 起始目录 寻找条件 操作以名称和文件属性查找

选项: -name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[]。

-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[]。

-gid n 查找属于ID号为n的用户组的所有文件。

-uid n 查找属于ID号为n的用户的所有文件。

-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。

-user‘字串‘ 查找属于用户名为所给字串的所有的文件。

-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[]。

-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644。

-type x 查找类型为 x的文件,

语法:locate 相关字

1.3文件的复制、删除和移动命令 文件复制命令

[选项] 源文件或目录 目标文件或目录

选项:

- a 通常在拷贝目录时使用

-d 拷贝时保留连接

-f 删除已经存在的目标文件而不提示

-i 和f选项相反

-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中

-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;

-l 不作拷贝,只是链接文件文件移动命令

mv[选项] 源文件或目录 目标文件或目录

-i 交互式操作

-f 禁止交互式操作文件删除命令

[选项] 文件…

-f 忽略不存在的文件,从不给出提示

-r 指示rm将参数中列出的全部目录和子目录均递归地删除

-i 进行交互式删除 1.4文件链接命令

ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录

选项:

- s 建立符号链接

1.5目录的创建和删除命令 mkdir 创建一个目录

语法: [选项] dirname

选项: - m 对新建目录设置存取权限

-p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

rmdir 删除空目录

语法: rmdir [选项] dirname

选项:

- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。

1.6改变工作目录,显示目录内容命令

1、改变工作目录: cd [directory]

2、显示当前工作的目录的绝对路径: pwd

3、显示目录内容: ls [选项] [目录或是文件]

选项:

- a 显示指定目录下所有子目录与文件,包括隐藏文件;

-c 按照文件的修改时间排序

-C 分成多列显示各项

-d 如果参数是目录,只显示其名称而不显示其下的个文件

-F 在目录名后面标记“/”,可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|”,socket文件后面标记“=”。

-l 以长格式来显示文件的详细信息

-L 若指定的名称为一个符号链接,则显示链接所指向的文件

-t 显示时按修改时间而不是名字排序

-u 显示时按文件上次存取的时间而不是名字排序

4、改变文件或目录的访问权限命令chmod [who] [+| - | = ] [mode] 文件名?

Who选项:

- u表示用户,即文件和目录的所有者

-g表示同组用户

-o(other)表示其他用户

-a (all)表示所有用户

操作符号: + 添加某个权限 - 取消某个权限 = 赋予给定权限并取消其他所有的权限(如果有的话)

mode 选项:

- r 可读

-w 可写

-x 可执行 chgrp [-R] group filename? 改变目录或文件所属的组

chown [-Rv] 用户或组 文件

1.7备份与压缩命令

1、tar命令 为文件和目录创建档案语法:

tar [主选项+辅助选项] 文件或者目录 : u 主选项

-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,则选此项

-r 把要存档的文件追加到档案文件的末尾

-t 列出档案文件的内容,查看已经备份了哪些文件;

-u 更新文件

-x 从档案文件中释放文件;

-u 辅助选项

-b 该选项为磁带机设定的,其后跟一位数字,用来说明区块的大小,系统预设值为20

-f 使用档案文件或设备,这个选项通常是必选的

-k 保存已经存在的文件。例如把某个文件还原,在还原的过程中,遇到相同的文件,不会进行覆盖;

-m 在还原文件时,把所有文件的修改时间设定为现在;

-M 创建多卷的档案文件,以便在几个磁盘中存放;

-v 详细报告tar处理的文件信息

-w 每一步都要求确认

-z 用gzip来压缩/解压缩文件

2、gzip命令 压缩/解压缩命令

语法:gzip [选项] 压缩(解压缩)的文件名

选项:

-c 将输出写到标准输出上,并保留原有文件

-d 将压缩文件解压

-l 显示每个压缩文件的详细信息

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩

-t 测试、检查压缩文件是否完整

-v 对每一个压缩和解压的文件,显示文件名和压缩比

3、unzip 命令 用MS windows下的压缩软件winzip压缩的文件在linux系统下展开

语法:unzip [选项] 压缩文件名.zip

选项: -x 文件列表 解压缩文件,但不包括指定的file文件

-v 查看压缩文件目录,但不解压

-t 测试文件有无损坏 ,但不解压

-d 目录 将压缩文件解到指定目录下

-z 只显示压缩文件的注解

-n 不覆盖已经存在的文件

-o 覆盖已经存在的文件且不要求用户确认

-j 不重建文档的目录结构,把所有文件解压到同一目录下

1.8在LINUX环境下运行DOS命令 linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录。

mcd 目录名 改变MSDOS目录 m 源文件 目标文件 在MSDOS和UNIX之间复制文件;

mdel 目录名 删除MSDOS目录 mdir 目录名 显示MSDOS目录 mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统 rnlabel 驱动器号 产生MSDOS卷标 mmd 目录名 删除MSDOS目录 mren 源文件 目标文件 重新命名已存在的MSDOS文件 mtype 文件名 显示MSDOS文件的内容

2 设备管理命令

1)linux采用下面的形式定义一个IDE硬盘:/dev/hd[drive][partition]

2)SCSI硬盘使用同样的机制表示: /dev/sd[drive][partition]

3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下: mk2fs –c ;

4)装载文件系统:

mount –t ext2 [-o optioms] partition mountpiont 其中,

-t为指定装载文件系统的类型;

-o指定一些选项,如只读ro,可读可写rw等等; partition定义分区名称; mountpiont定义文件系统被装载的目录名称。

5)装载CD-ROM文件系统:mount –t iso9660 –r /dev/cdrom /mnt/cdrom

6)装载软驱文件系统: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy

7)卸载文件系统 CODE:[Copy to clipboard]umount /mnt/cdrom 磁带设备的安装要注意以下几点:

1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置

2、 选择驱动程序。

3、 生成设备文件。SCSI磁带设备的主要设备号是9,次要设备号是0。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备) 用 ls /dev/*rst* 检查磁带设备文件是否存在,如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成

4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如 mt setblk 20 将块长度指定为20 mt setblk 0 指定块程度没有限制

5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备。用dmesg命令,查看是否有以下类似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total

3 软件包管理命令

3.1软件安装的步骤 在LINUX系统上安装软件的步骤有:

1、 查找所要安装软件的源文件

2、 把源文件解开放到一个目录中,命令如下: tar zxvf <源文件名>;

3、 针对本操作系统配置源文件。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure

4、 make源文件,通常是运行make命令,即执行 make

5、 安装二进制文件和其他支撑文件,运行命令: make install

6、 最后,完成所有其他必须的配置

3.2软件包管理命令 QUOTE: rpm –ivh <软件包>; // 安装指定的软件包,并在安装过程中用#表示安装的进度 rpm –Uvh <软件包>; // 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本。 rpm –e //卸载一个rpm软件包 rpm –qa // 查看系统中已经安装的软件包 rpm –q <软件包>; // 查看系统中某个软件包的版本号; rpm –qlp <软件包>; //列出某个软件包中的所有文件 rpm –qf <软件包>; //找出一个文件属于哪个软件包

4 LINUX系统常用命令

4.1 与系统管理有关的命令 Wall (Write All) 对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入: # wall < FileName 例:Wall ‘Thank you !’ Write 向某一用户发送信息。 Write xxq hello 输入Ctrl+C组合即可终止 Shutdown命令 Shutdown [选项] [时间] [警告信息]

-k 并不真正关机,而只是发出警告信息给所有的用户。

-r 关机后立即重新启动。

-h 关机后不重新启动。

-f 快速关机,启动时跳过fsck。

-n快速关机,不经过init程序。

-c 取消一个已经运行的shutdown 例:系统马上关机:Shutdown –h now Free命令查看当前系统内存的使用情况, CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以字节为单位显示。

-k 以K字节为单位显示。

-m 以M字节为单位显示。 Uptime QUOTE: 显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

4.2与用户有关的命令 Passwd命令设置、更换用户口令。

Passwd [用户名] Su 使一个普通的用户具有超级用户的权利,离开可用EXIT命令。 4.3其它命令 Echo命令在显示器上显示一段文字,一般起到一个提示的作用。

echo [-n] 字符串 Cal命令显示某年某月的日历。

cal [选项] [月[年]]

选项的含义:

-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起)。

-y 显示也整年的日历。 Date命令 date命令的功能是显示和设置系统日期和时间。 4.4磁盘管理 磁盘空间管理 df命令检查文件系统的磁盘空间占用局部。

Df [选项]

-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。

-k 以K字节为单位显示。

-i 显示i节点信息,而不是磁盘块。

- t 显示各指定类型的文件系统的磁盘空间使用情况。

-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反)。

-T 显示文件系统类型。 命令 的英文原意为disk usage,含义为显示磁盘空间的使用情况。功能是统计目录(或文件)所占磁盘空间的大小。

[选项] [Names…]

-s 对每人Names 参数只给也占用的数据块总数。

-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数。

-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)

-k 以1024字节为单位列也磁盘空间使用情况。

-c 最后再加上一个总计(系统缺省)

-l 计算所有的文件大小,对硬链接文件,则计算多次。

-x 跳过在不同文件系统上的目录不予统计。 dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。

语法: dd 〔选项〕 if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。 bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs)。 cbs = bytes 一次转换bytes字节。 count = blocks 只拷贝输入的blocks块。 conv = ASCII 把EBCDIC码转换为ASCII码。 conv = ebcdic 把ASCII码转换为EBCDIC码。 conv = ibm 把ASCII码转换为alternate EBCDIC码。 conv = blick 把变动位转换成固定字符。 conv = ublock 把固定们转换成变动位 conv = ucase 把字母由小写变为大写。 conv = lcase 把字母由大写变为小写。 conv = notrunc 不截短输出文件。 conv = swab 交换每一对输入字节。 conv = noerror 出错时不停止处理。 conv = sync 把每个输入记录的大小都调到ibs的大小(用ibs填充)。 fdformat命令低级格式化软盘。

format [-n] device QUOTE: -n 格式化后不做检验

4.5常用的网络命令 FTP命令 Telnet命令。

Netstat命令

-a 显示所有的scoket,包括正在监听和。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同”ifconfig –e”

-n 以网络IP地址代替名称,显示也网络连接情形。

-r 显示核心路由表,格式同”route –e:。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。 nslookup命令。 finger命令,功能是查询用户的信息。 ping命令。(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg。)

4.6有关进程的命令。 进程和启动 at [-V] [-q] [-f文件名] [-mldbv]时间 at –c 作业 [作业….] AT命令启动的进程系统只执行一次。 batch [-V] [-q 队列] [-f 文件名] [-mv] [时间] 在系统负载较小时,资源比较空闲时执行。 cron命令按一定的时间间隔执行命令。 crontab命令用于安装、删除或列出用于驱支cron后台进程的表格。进程查看

who命令。 w命令是一个比who命令更强大的命令 w

–[husfV] [user] -h 不显示标题。

-u 当列出当前进程和CPU时间时忽略用户名。

-s 使用短模式。不显示登录时间JCPU和PCPU时间。

-f 切换显示FROM项,也就是远程主机名项。

-V 显示版本信息。 user 只显示指定用户的情况。 ps命令。

-e 显示所有进程。

-f 全格式

-h 不显示标题。

-l 长格式。

-w 宽输出。 a 显示终端上所有进程,包括其他用户的进程。 r 只显示正在运行的进程。 x 显示没有控制终端的进程。 top 命令动态显示系统当前的进程和其他状况。 5系统的启动过程。

❽ Linux Shell 怎样获得命令的执行结果

1、CAT命令在用户主目录下创建一名为f1的文本升缓族文件,内容:Linux is useful for us all.You can never imagine how great it is。

❾ Linux shell常用命令

Linux shell常用命令汇总

对于经常使用linux系统的博主岩罩来说,基本常用的shell命令是少不了的,下面为大家总结了Linux shell的常用命令,希望对大家有所帮宽枣租助!

1.检查远程端口是否对bash开放:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

2.让进程转入后台慎兆:

Ctrl + z

3、将进程转到前台:

fg

4.产生随机的十六进制数,其中n是字符数:

openssl rand -hex n

5.在当前shell里执行一个文件里的命令:

source /home/user/file.name

6.截取前5个字符:

${variable:0:5}

7.SSH debug 模式:

ssh -vvv user@ip_address

8.SSH with pem key:

ssh user@ip_address -i key.pem

9.用wget抓取完整的网站目录结构,存放到本地目录中:

wget -r --no-parent --reject "index.html*" http://hostname/ -P /home/user/dirs

10.一次创建多个目录:

mkdir -p /home/user/{test,test1,test2}

11.列出包括子进程的进程树:

ps axwef

12.创建 war 文件:

jar -cvf name.war file

13.测试硬盘写入速度:

dd if=/dev/zero of=/tmp/output.img bs=8k count=256k; rm -rf /tmp/output.img

14.测试硬盘读取速度:

hdparm -Tt /dev/sda

15.获取文本的md5 hash:

echo -n "text" | md5sum

16.检查xml格式:

xmllint --noout file.xml

17.将tar.gz提取到新目录里:

tar zxvf package.tar.gz -C new_dir

18.使用curl获取HTTP头信息:

curl -I http://www.example.com

19.修改文件或目录的时间戳(YYMMDDhhmm):

touch -t 0712250000 file

20.用wget命令执行ftp下载:

wget -m ftp://username:password@hostname

21.生成随机密码(例子里是16个字符长):

LANG=c < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;

22.快速备份一个文件:

cp some_file_name{,.bkp}

23.访问Windows共享目录:

smbclient -U "DOMAIN\user" //dc.domain.com/share/test/dir

24.执行历史记录里的命令(这里是第100行):

!100

25.解压:

unzip package_name.zip -d dir_name

26.输入多行文字(CTRL + d 退出):

cat > test.txt

27.创建空文件或清空一个现有文件:

\> test.txt

28.与Ubuntu NTP server同步时间:

ntpdate ntp.ubuntu.com

29.用netstat显示所有tcp4监听端口:

netstat -lnt4 | awk '{print $4}' | cut -f2 -d: | grep -o '[0-9]*'

30.qcow2镜像文件转换:

qemu-img convert -f qcow2 -O raw precise-server-cloudimg-amd64-disk1.img \precise-server-cloudimg-amd64-disk1.raw

31.重复运行文件,显示其输出(缺省是2秒一次):

watch ps -ef

32.所有用户列表:

getent passwd

33.Mount root in read/write mode:

mount -o remount,rw /

34.挂载一个目录(这是不能使用链接的情况):

mount --bind /source /destination

35.动态更新DNS server:

nsupdate < <eof p=""> </eof>

update add $HOST 86400 A $IP

send

EOF

36.递归grep所有目录:

grep -r "some_text" /path/to/dir

37.列出前10个最大的文件:

lsof / | awk '{ if($7 > 1048576) print $7/1048576 "MB "$9 }' | sort -n -u | tail

39.打开Vim并跳到文件末:

vim + some_file_name

40.Git 克隆指定分支(master):

git clone [email protected]:name/app.git -b master

41.Git 切换到其它分支(develop):

git checkout develop

42.Git 删除分支(myfeature):

git branch -d myfeature

43.Git 删除远程分支

git push origin :branchName

44.Git 将新分支推送到远程服务器:

git push -u origin mynewfeature

45.打印历史记录中最后一次cat命令:

!cat:p

46.运行历史记录里最后一次cat命令:

!cat

47.找出/home/user下所有空子目录:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

1.检查远程端口是否对bash开放:

find /home/user -maxdepth 1 -type d -empty

48.获取test.txt文件中第50-60行内容:

< test.txt sed -n '50,60p'

49.运行最后一个命令(如果最后一个命令是mkdir /root/test, 下面将会运行: sudo mkdir /root/test):

sudo !!

50.创建临时RAM文件系统 – ramdisk (先创建/tmpram目录):

mount -t tmpfs tmpfs /tmpram -o size=512m

51.Grep whole words:

grep -w "name" test.txt

52.在需要提升权限的.情况下往一个文件里追加文本:

echo "some text" | sudo tee -a /path/file

53.列出所有kill signal参数:

kill -l

54.在bash历史记录里禁止记录最后一次会话:

kill -9 $$

55.扫描网络寻找开放的端口:

nmap -p 8081 172.20.0.0/16

56.设置git email:

git config --global user.email "[email protected]"

57.To sync with master if you have unpublished commits:

git pull --rebase origin master

58.将所有文件名中含有”txt”的文件移入/home/user目录:

find -iname "*txt*" -exec mv -v {} /home/user \;

59.将文件按行并列显示:

paste test.txt test1.txt

60.shell里的进度条:

pv data.log

61.使用netcat将数据发送到Graphite server:

echo "hosts.sampleHost 10 `date +%s`" | nc 192.168.200.2 3000

62.将tabs转换成空格:

expand test.txt > test1.txt

63.Skip bash history:

< space >cmd

64.去之前的工作目录:

cd -

65.拆分大体积的tar.gz文件(每个100MB),然后合并回去:

split –b 100m /path/to/large/archive /path/to/output/files

cat files* > archive

66.使用curl获取HTTP status code:

curl -sL -w "%{http_code}\\n" www.example.com -o /dev/null

67.设置root密码,强化MySQL安全安装:

/usr/bin/mysql_secure_installation

68.当Ctrl + c不好使时:

Ctrl + \

69.获取文件owner:

stat -c %U file.txt

70.block设备列表:

lsblk -f

71.找出文件名结尾有空格的文件:

find . -type f -exec egrep -l " +$" {} \;

72.找出文件名有tab缩进符的文件

find . -type f -exec egrep -l $'\t' {} \;

73.用”=”打印出横线:全选复制放进笔记

printf '%100s\n' | tr ' ' = ;

阅读全文

与linux下shell文件执行命令相关的资料

热点内容
使用土地的有关证明文件包含哪些 浏览:493
数据标注哪里可以接 浏览:482
在家自学编程下什么学 浏览:705
最近很火的app软件是什么软件 浏览:862
ai文字工具 浏览:157
兰博玩游戏路径怎么选择正确文件 浏览:972
淘宝直通车恢复老版本 浏览:510
播放草莓的图片我都文件 浏览:55
微信大文件打不开 浏览:767
家装合同准备哪些文件 浏览:296
应用bat合并excel文件 浏览:984
迅雷影音文件夹 浏览:109
makefile的文件路径 浏览:392
计算机程序文件名扩展名为 浏览:982
网络游戏推广策划案 浏览:609
替换所有文件内容的代码 浏览:960
不是常用数据模型有哪些 浏览:426
aspcms版本号 浏览:835
安卓怎么用数据流量下载软件 浏览:553
大众手动空调数据流通道号是多少 浏览:303

友情链接