linux如何设置默认指令,比如我编译了个脚本aa.sh我希望在任何路径...
修改文件/etc/inittab。
[root@localhost ~]#vi /etc/inittab# inittab is only used by upstart for the default runlevel.## ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.## System initialization is started by /etc/init/rcS.conf## Individual runlevels are started by /etc/init/rc.conf## Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf## Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,# with configuration in /etc/sysconfig/init.## For information on how to write upstart event handlers, or how# upstart works, see init(5), init(8), and initctl(8).## Default runlevel. The runlevels used are:# 0 - halt (Do NOT set initdefault to this)# 1 - Single user mode# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)# 3 - Full multiuser mode# 4 - unused# 5 - X11# 6 - reboot (Do NOT set initdefault to this)# id:5:initdefault:默认有如下7促启动级别,文件中也有相应的说明。
如:0表示关闭,6表示重启,文件也说明了不要将initdefault设置为这两个值。
问题也可想而知。
1表示单用户模式。
2表示没有网络的多用户模式。
3表示多用户模式。
(枫竹梦推荐使用这个模式)4不使用。
5图形界面。
(安装有图形界面的系统的默认启动级别)0和6存在的意思是系统在关机和重启是要切换到这个模式的。
知道如上的内容就很容易的可以做出相应的修改。
这里将id:5:initdefault:修改为id:3:initdefault:保存文件并重启即可。
当然,也可以使用init 3直接进行切换。
其实看这里的内容,可以很容易的理解使用chkconfig命令进行设置的服务在各个启动级别当中的on与off是什么意思了。
Ubuntu的设置直接修改文件/etc/X11/default-display-manager的内容并保存,重启即可。
菜鸟求教LINUX下的一个script
首先,你在终端运行的时候要加运他的程序,比如说,这个脚本叫test.sh/bin/bash ./test.sh或者在脚本头部加入#!//bin/bash在终端中进入到该文件夹,输入chmod +x test.sh然后./test.shex>{$0 someword}这句话中,只有 $0有意义,表示这个脚本自己的名字,其他都是以字符串的形式用echo打出建议楼主从最基础的学起
linux执行命令 ./shell.sh shell.sh为script,相对路径执行为啥前面是./ 有...
1、./表示当前目录,告诉linux,shell.sh在当前路径,别到处瞎找了。
2、echo $PATH,如果你把shell.sh放到PATH环境变量包含的路径里,直接运行shell.sh就行了。
3、如果你把PATH环境变量增加".",比如export PATH=$PATH:./,在shell.sh路径里,也可以直接运行shell.sh不加".",但是为了防止执行被恶意放置在文件系统中的木马程序,一般都会将PATH环境变量中的"."去掉。
如何用绝对路径执行自己写的linux脚本,而不用sh script形式
按功能分段来解析比较好。
我这里只列出功能,要是想详细解析每一条命令,估计到天亮也说不完。
11-13判断当前用户是否是root,如果不是就退出脚本执行。
如果是root,就重新以读写的方式把设备 /dev/block/mmcblk0p5 挂载到 /system目录17kit的值等于运行命令的目录。
比喻脚本是这样执行的 ./root/ubuntu.sh,kit的值就是 /root18-20变量赋值,没什么好说的。
21如果$(mmt)目录,即/data/local/mnt 不存在,则建立该目录22-24也是变量赋值。
28-34判断 /dev/block/loop255 是否存在,若存在就向屏幕输出“Loop device exists”,否则就建立设备文件,设备号为25534将设备/dev/block/loop255与文件 $kit/ubuntu.img关联38-52一系列的挂载命令,把设备挂载到固定的目录。
一旦挂载之后,访问该目录就相当于访问该设备56打开系统的Ipv4数据包转发功能。
即当前主机具有了路由器的功能。
57创建文件$mnt/etc/resolv.conf,第一行内容为nameserver 8.8.8.8,第二行内容为nameserver 8.8.4.458创建文件$mnt/etc/hosts,第一行内容为127.0.0.1 localhost60-62在屏幕输出网络接口eth0的详细信息66把根目录改为 $mnt,并执行 /root/init.sh脚本71把所有打开$mnt目录下的文件的进程结束。
73-79卸载挂载在$mnt下的设备
Linux 脚本 sh 和 ./ 的区别
如果.不在PATH里面,要执行当前目录下的可执行文件,使用全路径:./executable-file如果要执行一个sh脚本,不管那个脚本有没有可执行权限,都可以使用:sh [file]这时file是作为参数传给sh的,如果file不在当前目录下,也需要使用全路径。
全路径有绝对路径和相对路径两种。
./和../开头的都是相对路径,分别表示”在当前目录下”和”在父目录下”。
怎样编写Linux shell script
展开全部 sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一, 因此,有必要彻底地了解其应用 Linux 操作系统最大的一个好处是它带有各种各样的实用工具。
存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具。
可以简化关键情况下操作的一个实用 工具是 sed。
它是任何管理员的工具包中最强大的工具之一,并且可以证明它自己在关键情况下非常有价值。
sed 实用工具是一个“编辑器”,但它与其它大多数编辑器不同。
除了不面向屏幕之外,它还是非交互式的。
这意味着您必须将要对数据执行的命令插入到命令行或要处 理的脚本中。
当显示它时,请忘记您在使用 Microsoft Word 或其它大多数编辑器时拥有的交互式编辑文件功能。
sed 在一个文件(或文件集)中非交互式、并且不加询问地接收一系列的命令并执行它们。
因而,它流经文本就如同水流经溪流一样,因而 sed 恰当地代表了流编辑器。
它可以用来将所有出现的 "Mr. Smyth" 修改为 "Mr. Smith",或将 "tiger cub" 修改为 "wolf cub"。
流编辑器非常适合于执行重复的编辑,这种重复编辑如果由人工完成将花费大量的时间。
其参数可能和一次性使用一个简单的操作所需的参数一样有限, 或者和一个具有成千上万行要进行编辑修改的脚本文件一样复杂。
sed 是 Linux 和 UNIX 工具箱中最有用的工具之一,且使用的参数非常少。
sed 的工作方式 sed 实用工具按顺序逐行将文件读入到内存中。
然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放回到内存中,以将其转储至终端。
完成了这一行 上的所有操作之后,它读取文件的下一行,然后重复该过程直到它完成该文件。
如同前面所提到的,默认输出是将每一行的内容输出到屏幕上。
在这里,开始涉及到 两个重要的因素—首先,输出可以被重定向到另一文件中,以保存变化;第二,源文件(默认地)保持不被修改。
sed 默认读取整个文件并对其中的每一行进行修改。
不过,可以按需要将操作限制在指定的行上。
该实用工具的语法为: sed [options] '{command}' [filename] 在这篇文章中,我们将浏览最常用的命令和选项,并演示它们如何工作,以及它们适于在何处使用。
替换命令 sed 实用工具以及其它任何类似的编辑器的最常用的命令之一是用一个值替换另一个值。
用来实现这一目的的操作的命令部分语法是: 's/{old value}/{new value}/' 因而,下面演示了如何非常简单地将 "tiger" 修改为 "wolf": $ echo The tiger cubs will meet on Tuesday after school | sed 's/tiger/wolf/' The wolf cubs will meet on Tuesday after school $ 注意如果输入是源自之前的命令输出,则不需要指定文件名—同样的原则也适用于 awk、sort 和其它大多数 LinuxUNIX 命令行实用工具程序。
多次修改 如果需要对同一文件或行作多次修改,可以有三种方法来实现它。
第一种是使用 "-e" 选项,它通知程序使用了多条编辑命令。
例如: $ echo The tiger cubs will meet on Tuesday after school | sed -e ' s/tiger/wolf/' -e 's/after/before/' The wolf cubs will meet on Tuesday before school $ 这是实现它的非常复杂的方法,因此 "-e" 选项不常被大范围使用。
更好的方法是用分号来分隔命令: $ echo The tiger cubs will meet on Tuesday after school | sed ' s/tiger/wolf/; s/after/before/' The wolf cubs will meet on Tuesday before school $ 注 意分号必须是紧跟斜线之后的下一个字符。
如果两者之间有一个空格,操作将不能成功完成,并返回一条错误消息。
这两种方法都很好,但许多管理员更喜欢另一种 方法。
要注意的一个关键问题是,两个撇号 (' ') 之间的全部内容都被解释为 sed 命令。
直到您输入了第二个撇号,读入这些命令的 shell 程序才会认为您完成了输入。
这意味着可以在多行上输入命令—同时 Linux 将提示符从 PS1 变为一个延续提示符(通常为 ">")—直到输入了第二个撇号。
一旦输入了第二个撇号,并且按下了 Enter 键,则处理就进行并产生相同的结果,如下所示: $ echo The tiger cubs will meet on Tuesday after school | sed ' > s/tiger/wolf/ > s/after/before/' The wolf cubs will meet on Tuesday before school $ 全局修改 让我们开始一次看似简单的编辑。
假定在要修改的消息中出现了多次要修改的项目。
默认方式下,结果可能和预期的有所不同,如下所示: $ echo The tiger cubs will meet this Tuesday at the same time as the meeting last Tuesday | sed 's/Tuesday/Thursday/' The tiger cubs will meet this Thursday at the same time as the meeting last Tuesday $ 与 将出现的每个 "Tuesday" 修改为 "Thursday" 相反,sed 编辑器在找到一个要修改的项目并作了修改之后继续处理下一行,而不读整行。
sed 命令功能大体上类似于替换命令,这意味着它们都处理每一行中出现的第一个选定序列。
为了替换出现的每一个项目,在同一行中出现多个要替换的项目的情况下, 您必须指定在全局进行该操作: $ echo The tiger cubs will meet this Tuesday at the same time as the meeting last Tuesday | sed 's/Tuesday/Thursday/g' The tiger cubs will meet this Thursday at the same time as t...
linux下编写一个shell脚本 每天0点 定时执行某一可执行程序test。
刚学...
展开全部概述linux用到定时任务需要crontab的帮助首先终端键入:crontab -eroot@sys #:crontab -e然后进行编辑,这里操作和vim操作一至假设,我需要定时每秒访问一次指定网页,访问网页的脚本已经写好了,叫view.sh,放在了/user目录下,那么定时脚本将需要这么些。
*/1 * * * * /bin/sh /user/view.sh解析crontab [-u username] [-l|-e|-r]参数:-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;-e: 编辑crontab 的工作内容;-l: 查阅crontab的工作内容;-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。
crontab -e 进入编辑模式 #此时会进入vi的编辑界面让你编辑工作。
注意到,每项工作都是一行。
*/1 * * * * /bin/sh /user/view.sh#分 时 日 月 周 |=========命令行===|代表意义 分钟 小时 日期 月份 周 命令 数字范围 0~59 0~23 1~31 1~12 0~7 就命令啊 特殊字符 - 代表意义 *(星号) --- 代表任何时刻都接受的意思。
举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号) --- 代表分隔时段的意思。
举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command时间还是有五列,不过第二列是 3,6 ,代表3与6都适用-(减号) --- 代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:20 8-12 * * * command仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思/n(斜线) --- 那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:*/5 * * * * command用*与/5来搭配,也可以写成0-59/5,意思相同拓展内容linuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。
Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。
严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。
linux,unix常用基本命令
1. tar压缩文件夹tar zcvf archive_name.tar dirname/1解压文件夹tar xvf archive_name.tar1grep在文件中查找字符串 不区分大小写grep -i "the" demo_file1输出成功匹配的行,以及该行之后的三行grep -A 3 -i "example" demo_text1在一个文件夹中递归查询包含指定字符串的文件grep -r "ramesh" *1find查找指定文件名的文件(不区分大小写)find -iname "MyProgram.c"1查找home目录下的所有空文件find ~ -empty1ssh登录到远程主机ssh root@172.3.7.2111sedsed全名叫stream editor,流编辑器,用程序的方式来编辑文本。
SED 简明教程awkAWK 简明教程vimLIinux中自带的文本编辑器。
转载请注明出处51数据库 » linux ctlscript.sh w