问题: 在Linux系统中使用“vi test.sh”命令创建.sh文件,保存文件(:wq)并赋予权限(chmod +x test.sh)后,执行(./test.sh),出现问题:“bash: ./test: bin/sh: bad interpreter: No such file or directory”. test.sh文件代码如下: #!bin/sh str="hello world" echo $str echo "shell,${str}" 解决办法如…
在 Linux 下可以利用 Shell 实现 ftp 文件的自动上传和下载,封装至 crontab 更可实现定时调度. 1.ftp自动登录批量下载文件 ##### 从ftp服务器上的/home/data到本地的/home/databackup #### #!/bin/bash ftp -n << ! open 192.168.122.122 user user_name 123456 binary cd /home/data lcd /home/databackup prompt mget *…
Shell脚本命令的工作方式有两种: 交互式(Interactive):用户每输入一条命令就立即执行. 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令. 一.编写简单的脚本 一个Shell脚本主要由三部分组成:脚本声明.脚本注释.脚本命令. 脚本声明:告诉系统使用哪种Shell解释器来执行该脚本,比如:#!/bin/bash 脚本注释:以#开头,主要是介绍脚本的功能和某些命令 脚本命令:需要被执行的Linux命令. Shell脚本的名称可以…
转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的命令(主要是shell命令) ============================================== 文件/文件夹相关操作 #在当前目录下,创建一个名为test的文件夹 mkdir test #在当…
在新进程中运行 Shell 脚本 1) 将 Shell 脚本作为程序运行 切换到脚本所在位置(还要给脚本加上可执行权限) [mozhiyan@localhost demo]$ ./test.sh #执行脚本文件./表示当前目录,整条命令的意思是执行当前目录下的 test.sh 脚本.如果不写./,Linux 会到系统路径(由 PATH 环境变量指定)下查找 test.sh,而系统路径下显然不存在这个脚本,所以会执行失败. 2) 将 Shell 脚本作为参数传递给 Bash 解释器(同样要给脚本加…
今天执行一个shell脚本,然后在执行的时候报错,脚本内容很简单,仅供测试: #!/bin/sh echo "test shell " 具体报错信息如下 [root@localhost test]# ./test.sh -bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory 由于之前自己对shell不太熟悉,找同事沟通了后了解了原委,主要原因是test.sh是我在windows下编辑然后上传到lin…
0x00 概述 我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题. 0x01 nohup 场景: 如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢? hangup 名称的来由 在 Unix 的早期版本中,每个终端都会通过 modem 和…
1.简单过滤器 a. pr [OPTION] [FILE] 功能:改变文件打印格式 选项 功能 -l n 设定页面长度为n行 -w n 设定页面总宽度为n个字符(不够会被砍掉) -h str 设定页眉为str -n 对行进行编号 -k 分k列输出 -t 不显示页眉.页脚和边距 b.head [OPTION] [FILE] 默认10行 选项 功能 -n k 显示前k行内容 tail [OPTION] [FILE] 选项 功能 -n k 显示后k行内容 -f 监控文件内容增长(进程相关) c.cut…
1.Shell的工作原理 Shell是用户和操作系统之间的接口.当用户登录系统,有一个Shell进程随之启动,并在用户注销时终止.用户输入的命令是Shell输入. 处理命令的步骤:查找命令中的元字符:把这些元字符替换成对应的实际操作参数:等重新生成的指令传给内核:命令完成,提示符重新出现,等待下一条命令 查看种类:echo $SHELL Bourne系列:Bourne Shell; Korn Shell; bash C Shell系列:C Shell; Tcsh 2.Shell命令元字符 1通配…
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化. 让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了.然后将回顾一下在各个步骤到底发生了什么.在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代码树,并在以后对其进行深入分析. 概述 图 1 是我们在 20,000 英尺的高度看到的视图. 当系统…
1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服务.优点是管理的服务不占用内存,缺点是响应缓慢. (1) 启动和自启动 服务启动就是在当前系统中让服务运行,并提供其功能.服务的自启动是指让服务在系统开机或重启之后,随着系统的启动而自动启动服务. (2) 查询已安装的服务 RPM包安装的服务可通过chkconfig --list命令查看,其作用是查…
Linux简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线程和多CPU的操作系统. Linux能运行主要的UNIX工具软件.应用程序和网络协议.它支持32位和64位硬件.Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统. Linux的发行版 Linux的发行版说简单点就是将L…
[想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以扩展知识面,对后续的学习也有一定的帮助. 1.操作系统        操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行.        操作系统是用户和计算机的接…
1. 备份概述 Linux系统需要备份的数据有/root,/home,/var/spool/mail,/etc及日志等其他目录. 安装服务的数据需要备份,如apache需要备份的数据有配置文件.网页主目录.日志文件:源码包安装的mysql需要备份/usr/local/mysql/data,RPM包安装的mysql需要备份/var/lib/mysql. (1) 备份策略 完全备份:就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录.特点备份较慢,且占用的空间…
Ubuntu下我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo -e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输出"-e"的. 我就在想是什么原因,后来终于发现是Ubuntu下sh默认指向dash. echo $SHELL…
转载于:http://www.51testing.com/?uid-225738-action-viewspace-itemid-208702 我用bash到语法写了一个shell脚本(准确的说是把书上的脚本敲进电脑),在ubuntu下,用sh test.sh来运行,但是出现了意料之外到结果,比如echo -e "\nTest\n"到执行就不同,直接用sh test.sh运行,会打印出-e(作为字符串);而直接在终端中输入echo -e "\nTest\n"是不会输…
1.Windows上操作 用notepad++编译器打开脚本,编辑->文档格式转换->转换为UNIX格式,然后保存. 重新上传.运行,问题解决 2.Linux上操作 用vi/vim命令打开脚本文件,输入“:set fileformat=unix”,回车,保存退出. 重新执行脚本,问题不在出现. 通用的两个操作系统都有解决方案,根据需要选择自己喜欢的方式吧.…
shell从广义上分为两类: GUI:GNOME KDE XFACE等 CLI:sh csh bash shell启动:当用户登录完成后,系统会自动启动shelll程序 进程:应用程序的副本,用PID区分(在系统中,进程只认为自己存在) root student用户 shell:父shell程序和子shell程序(父子shell之间设置环境互相独立) # cat /etc/shells //查看支持哪些shell # yum -y install ksh csh #exit//退出当前shell…
0x00 cron 简介 cron 是 UNIX, SOLARIS,LINUX 下的一个十分有用的工具.通过 cron 脚本能使计划任务定期地在系统后台自动运行. 0x01 cron 命令 crontab -e     – 编辑该用户的 crontab,当指定 crontab 不存在时新建. crontab -l     – 列出该用户的 crontab. crontab -r     – 删除该用户的 crontab. crontab -u<用户名称>     – 指定要设定 crontab…
1.Linux磁盘命名规则 名称的起名规则——/dev/xxyN: 1.Linux下装所有硬件设备的一个目录叫 /dev(devices) 2.Linux没有C盘.D盘.Linux最根上的一个目录叫    / 3./dev/ ——是所有设备文件所在的目录名.因为分区在硬盘上.而硬盘是设备,所有这些文件代表了在/dev/上所有可能的分区. 4.xx —— 分区名的前两个字母标明分区所在设备的类型.通常是hd(IDE磁盘)或sd(SCSI磁盘). 5.y——这个字母标明分区所在的设备.例如/dev/…
Linux系统的启动过程可以分为五个阶段: 内核的引导 运行init 系统初始化 建立终端 用户登录系统 1.内核引导: 当计算机打开电源后,首先进行BIOS开机自检,按照BIOS中设置的启动设备(一般是硬盘)来启动.在操作系统接管硬件以后,首先读入/boot目录下的内核文件. 2.运行init init进程是系统所有进程的起点(即:没有这个进程,系统中任何进程都不会启动),init程序首先是需要读取配置文件/etc/inittab. 在Linux系统中的开机启动程序叫做“守护进程”.Linux…
1. 系统运行级别 运行级别 含义 关机 1 单用户模式,可想象为windows的安全模式,主要用于系统修复 2 不完全的命令行模式,不含NFS服务 完全的命令行模式,就是标准字符界面 4 系统保留 图形模式 重启动 (1) 运行级别命令 runlevel #查看运行级别命令 N表示进入3前面的级别 init 运行级别 #改变运行级别命令 (2) 系统默认运行级别 在配置文件/etc/inittab中进行修改即可 id:3:initdefault: #系统开机后直接进入指定的运行级别 2. 启动…
1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致. rsyslogd的新特点: 基于TCP网络协议传输日志信息:更安全的网络传输方式:有日志消息的及时分析框架:后台数据库:配置文件中可以写简单的逻辑判断:与syslogd配置文件相兼容. 1)确定服务启动 ps aux…
本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数. 1.建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2.建工作组 groupadd test //新建test工作组 3.新建用户同时增加工作组 useradd -g test phpq //新建phpq用户并增加到test工作组 注::-g 所属组 -d 家目录 -s 所用的SHELL 4.给已有的用户增加工作组 usermod -G groupname user…
2018-11-19                                      常见命令快速查询一览表 命令 功能 ls 列出目录内容 cat 链接文件并打印到标准输出设备上(通常用来显示文件内容) su 切换当前身份 cd 更改目录 echo 在shell打印shell变量的值,直接输出指定的字符串 env 查看环境变量与常见的环境变量的说明 history 查询执行过的历史命令 history -c 将目前shell中的所有history内容全部删除 ps 将某个时间点的进程…
0x00 概述 Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量. 0x01 Linux环境变量分类 按照生命周期来分,Linux环境变量可以分为两类: # 1.永久的:需要用户修改相关的配置文件,变量永久生效. # 2.临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效. 按照作用域来分,Linux环境变量可以分为: # 1.系统环境变量:系统环境变量对该系统中所有用户都有效. # 2.用…
1.进程管理 进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源. 进程管理的作用有判断服务器健康状态.查看系统中所有进程及杀死进程.一般都可以采用正确的命令终止进程,只有当终止失效时,才强制杀死进程. (1) 查看系统中所有进程 ① ps aux命令表示查看系统中所有进程,使用BSD操作系统格式 USER:该进程是由哪个用户产生的: PID:进程的ID号: %CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源: %MEM:该进程占…
由于Linux的发行版本比较多,并且有些差异性,所以,分析问题时我们常常需要知道自己的Linux系统的版本信息,以下是我搜集到的一些方法 1:显示电脑以及操作系统的相关信息 qian@ubuntu:~$ uname -a Linux ubuntu 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 2:查看正在运行的内核版本 qian@ubuntu:~$ cat…
一.静态库的编译 静态库的编译过程如下: 1.编译成目标文件 这里有一个可选项-static,调用格式:gcc -c -static 代码文件名.c 2.归档成静态库 A.归档的工具是ar工具,使用ar -r可以将文件归档成静态库,调用格式:ar -r 静态库文件 被归档的文件 例如:我们这有两个C文件,分别为test1.c和test2.c 首先我们将它编译成目标文件:gcc -c -static test1.c gcc -c -static test2.c 此时会产生两个文件,分别为test1…
<1>gedit编辑器 gedit是一个Linux环境下的文本编辑器,类似windows下的写字板程序,在不需要特别复杂的编程环境下,作为基本的文本编辑器比较合适.   <2>sublime编辑器 Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用) Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim. Sublime Text具有漂亮的用户界面和强大的功…