Linux shell命令初学解析
linuxshell获取当前时间命令详解
linux shell获取当前时间命令详解当出现一个获取一个时间戳或时间差需求时,那么我们该使用什么命令来获取当前时间呢?下面由店铺为大家整理了linux shell获取当前时间的命令的相关知识,希望大家喜欢!1. Linux shell获取时间的相关命令time命令:获取一个程序的执行时间,可以获取到实际运行时间以及程序在用户态和内核态分别的时间,大部分的性能测试,可能只需要关注实际时间。
time命令的使用就很简单了,在原有的要运行的程序(可执行文件、脚本等任何可执行程序)之前加上time即可。
time命令的常用选项使用time,常用的选项是:-f和-p。
其中-f后面指定一个格式串,控制time的输出的格式,默认的time输出是real、user、sys三行以xmxxx.xxxs的格式输出,通过-f可以控制。
-p选项也是格式,表示使用posix标准的格式,主要的区别是显示的时间都是以s为单位的,具体关于格式的问题参考man time的帮助内容就知道了。
-f选项没法工作?弄不清楚为何-f和-o等选项都无法工作,知道的请补充。
(-p是工作的)另一种控制格式的方法是设置TIMEFORMAT环境变量,具体参考man time可以知道这些格式控制符分别表示什么。
举例如下:#time pwd/home/sgeng2real 0m0.000suser 0m0.000ssys 0m0.000s#export TIMEFORMAT="real time %E, user time %U,sys time %S"#time pwd/home/sgeng2real time 0.000, user time 0.000,sys time 0.000#time -p pwd/home/sgeng2real 0.00user 0.00sys 0.00#time命令的输出的问题上面已经说到,好像-o选项并不工作,那么,我们就只能自己想办法了。
linuxshellset命令详解
linux shell set命令详解set命令是linux下的一个命令,那么这个命令到底有什么用处呢?下面由店铺为大家整理了set命令的相关知识,希望大家喜欢!linux shell set命令基本说明用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性.在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性,不带任何参数的set命令将显示shell 的全部变量.除非遇到非法的选项,否则set总是返回ture.当shell被调用时,可以列出全部的选项.当前的选项集列在$-中.在option参数被处理后,其他的参数被赋值到位置参数中($1,$2,...,$n) set [--abefhkmnptuvxldCHP] [-o option name] [arguments ...] 选项说明-a 自动向已经修改的变量或为导出后序命令的变量作出标志-b 不是在原提示符之前,而是立即引发终止后台任务的状态表表-e 如果命令带非零值返回,立即退出-f 禁止带扩展名的路径-h 定义函数时,定位和存储函数命令,当函数被执行时,通常查询函数命令-k 所有的关键词参数,而不只是那些命令名前的关键词参数,被放在环境命令中-m 监视器模式,启动任务控制.此选项默认支持系统shell交互.后台进程以单独的进程组运行,在每次完成任务时显示包含退出的状态行-n 读取命令但不执行命令.通常监查shell脚本的句法错误.交互shell被忽略-o option-name 选项名可以是下列之一:选项说明allexport 同-a选项braceexpand shell执行花括号扩展,在默认情况下起作用emacs 使用emacs风格命令行编辑接口.除非shell以-noline-editing选项启动,否则当shell交互时,通过默认启动该选项errexit 同-e选项histexpand 同-H选项ignoreeof 其结果是好像shell命令IGNOREEOF=10被执行interactive 允许单词前带#号,以使得在交互shell中忽略命令行的全部字符-commandsmonitor 同-m选项noclobber 同-C选项noexec 同-n选项noglob 同-f选项nohash 同-d选项notify 同-b选项nounset 同-u选项physical 同-p选项posix 改变BASH属性以匹配标准,默认操作不同于POSIX1003.2标准verbose 同-v选项vi 使用vi风格的命令行编辑器XTRACE 同-x选项,如果没有给出选项名,显示当前选项值-p 打开特权模式(在此模式,$ENV文件被处理,不能从环境中继承shell函数.如果是有效用户ID而不是实用户组则自动启动.关闭此选项将使得有效用户和组IDs设置实用户和组IDs)-t 在读取命令并执行之后退出-u 当执行参数括展时,把非设置变量作为错误处理(如果扩展企图出现在非设置变量中,shell显示错误信息.如果不是交互式,则带非凌值退出)-v 输入行被读取时,显示shell输入行-x 在每个简单命令被扩展之后,显示PS4扩展值,之后是要执行的命令-l 保存和恢复绑定在命令中的名称-d 禁止执行查找散列命令(通常,命令被保存在散列表中,一旦被找到就不再继续查找)-C 效果好像是执行了noclobber=shell命令-H 使用!风格的历史替代(当shell交互时,在默认情况下,此选项有效)-P 如果设置此参数,当执行改变目录命令cd时,不遵循符号链接,而是使用实际的目录如果在选项后没有参数,不设置位置参数.否则,即使一些参数以a选项开始,也要把位置参数设置为argument- 结束选项的信号,将引发其余的参数被赋值到位置参数中(-x和-v选项被关闭.如果没有argument,位置参数将保留未改变的参数)。
linuxsh命令详解
linux sh命令详解linux sh命令时linux下的一个命令,那么它是用来干吗的呢?下面由店铺为大家整理了linux sh命令的相关知识,希望大家喜欢!linux sh命令sh命令是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。
通过用户输入命令,和内核进行沟通!Bourne Again Shell (即bash)是自由软件基金会(GNU)开发的一个Shell,它是Linux 系统中一个默认的Shell。
Bash不但与Bourne Shell兼容,还继承了C Shell、Korn Shell等优点。
linux sh命令语法bash [options] [file]linux sh命令选项-c string:命令从-c后的字符串读取。
-i:实现脚本交互。
-n:进行shell脚本的语法检查。
-x:实现shell脚本逐条语句的跟踪。
linux sh命令实例使用-x选项跟踪脚本调试shell脚本,能打印出所执行的每一行命令以及当前状态:[root@AY1307311912260196fcZ satools]# sh -x check_ssh_login.sh + DEFINE=30+ cat /var/log/secure+ awk '/Failed/ {++ip[$(NF-3)]} END {for (i in ip) print i"="ip[i]}'++ cat /root/satools/black.txt+ for i in '`cat /root/satools/black.txt`'++ echo 121.42.0.16=1427 ++ awk -F= '{print $1}'+ IP=121.42.0.16++ echo 121.42.0.16=1427++ awk -F= '{print $2}'+ NUM=1427+ '[' 1427 -gt 30 ']'+ grep 121.42.0.16 /etc/hosts.deny + '[' 1 -gt 0 ']'+ echo sshd:121.42.0.16+ echo vsftpd:121.42.0.16+ for i in '`cat /root/satools/black.txt`' ++ echo 121.42.0.72=276++ awk -F= '{print $1}'+ IP=121.42.0.72++ awk -F= '{print $2}'++ echo 121.42.0.72=276+ NUM=276 + '[' 276 -gt 30 ']'+ grep 121.42.0.72 /etc/hosts.deny + '[' 1 -gt 0 ']'+ echo sshd:121.42.0.72+ echo vsftpd:121.42.0.72。
Shell脚本及linux命令学习
Shell脚本及linux命令学习∙echo "内容" |mail -s "标题" "收件人"mail [邮箱] <<EOF;OOXX(内容)EOF #结束符∙在屏幕直接按照制定格式输出cat << EOFooxx(内容)EOF∙AWK介绍:{}内视为一个原子操作,以“;”分隔命令,顺序进行∙hostname 命令:显示主机名;hostname -s 显示主机名(不完整)-i IP地址* whoami 显示当前用户名∙pstree work 查看当前进程及线程数∙rz,sz:用SecurtCRT时,linux与客户端间传文件∙echo $PATH:查看自己有权限的bin目录∙du -s,-sm,-sk:查看文件夹大小∙sar:linux性能检测工具∙awk的OFS:echo a b c d | awk 'BEGIN {OFS=":"} {print $1, $2, $3, $5}'a:b:c:d (替换分隔符)∙tar xfj (.bz2) tar czvf(打包)xzvf(解包)(.tar.gz)(.tgz)∙xxd命令:查看二进制文件∙teeprot.pl:截包、转发、中转工具-l -r -f∙seekone:∙wget -r -nd(不下载目录结构)--limit-rate==2M ftp://tc...//home/...∙time:计算执行时间∙uname 显示当前操作系统名称∙file:辨识文件类型∙ldd:用来查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题∙set:不带任何参数的set命令将显示shell的全部变量。
∙export:设置环境变量∙unset:清楚环境变量∙mkdir -p:创建上层目录,如mkdir -p /home/work/lixiaowen/123/456∙vi中段注释:开头行添加<<BLOCK,结尾行BLOCK∙vi中打开多个文件:在vi中输出sp ,vi -o ...∙Linux的五个查找命令:find,locate,whereis,which,type 网上找的说明∙sudo:限制版本的su。
自学LinuxShell3.2-切换目录命令cd
⾃学LinuxShell3.2-切换⽬录命令cd3.2-切换⽬录命令cd当登录系统并获得shell命令提⽰符后,你通常位于⾃⼰的主⽬录中。
使⽤pwd命令验证:pwd命令以绝对路径的⽅式显⽰⽤户当前⼯作⽬录。
命令将当前⽬录的全路径名称(从根⽬录)写⼊标准输出。
全部⽬录使⽤/分隔。
第⼀个/表⽰根⽬录,最后⼀个⽬录是当前⽬录。
执⾏pwd命令可⽴刻得知您⽬前所在的⼯作⽬录的绝对路径名称。
cd命令⽤来切换⼯作⽬录⾄dirname。
其中dirName表⽰法可为绝对路径或相对路径。
若⽬录名称省略,则变换⾄使⽤者的home directory(也就是刚login时所在的⽬录)。
另外,~也表⽰为home directory.则是表⽰⽬前所在的⽬录..则表⽰⽬前⽬录位置的上⼀层⽬录。
语法cd (选项) (参数)选项-p 如果要切换到的⽬标⽬录是⼀个符号连接,直接切换到符号连接指向的⽬标⽬录-L 如果要切换的⽬标⽬录是⼀个符号的连接,直接切换到字符连接名代表的⽬录,⽽⾮符号连接所指向的⽬标⽬录。
- 当仅实⽤"-"⼀个选项时,当前⼯作⽬录将被切换到环境变量"OLDPWD"所表⽰的⽬录。
实例cd 进⼊⽤户主⽬录;cd ~ 进⼊⽤户主⽬录;cd - 返回进⼊此⽬录之前所在的⽬录;cd .. 返回上级⽬录(若当前⽬录为“/“,则执⾏完后还在“/";".."为上级⽬录的意思);cd ../.. 返回上两级⽬录;cd !$ 把上个命令的参数作为cd参数使⽤。
绝对⽂件路径与相对路径绝对⽂件路径⽤户可在虚拟⽬录中采⽤绝对⽂件路径引⽤⽬录名。
绝对⽂件路径定义了在虚拟⽬录结构中该⽬录的确切位置,以虚拟⽬录的根⽬录开始,相当于⽬录的全名。
绝对⽂件路径总是以正斜线(/)作为起始,指明虚拟⽂件系统的根⽬录。
使⽤绝对⽂件路径可以清晰表明⽤户想切换到的确切位置。
要⽤绝对⽂件路径来切换到⽂件系统中的某个特定位置,只需在cd命令后指定全路径名:相对⽂件路径相对⽂件路径允许⽤户指定⼀个基于当前位置的⽬标⽂件路径。
第5章 LINUX Shell常用命令2
rm 命令
rm:删除文件或目录
用法:rm [选项] 文件或目录名
删除指定的文件或目录。
常用选项:
-f 强制删除,并且不给提示。 -i 删除每个文件时给用户提示。 -r 删除整个目录,包括文件和子目录, 用 rm 删除目录时必须使用该选项。
ቤተ መጻሕፍቲ ባይዱ
rm 命令举例
rm file1
rm –i file1
mv 命令
mv:移动或更名现有的文件或目录
用法:mv [选项] 源文件或目录 目标文件或目录
把指定的源文件改名为目标文件,若目标文件已存在, 把多个源文件移至目标目录中。
则被覆盖。
把源目录改名为指定的目标目录(目标目录不存在)。
把源目录移至指定的目标目录中。
mv 命令常用选项
常用选项:
对于目录,该命令将列出其中的所有子目录与文件。 对于文件,ls 将输出其文件名以及所要求的其他信息。 默认情况下,输出条目按字母顺序排序。
当未给出目录名或文件名时,就显示当前目录的信息。
ls 命令常用选项
常用选项:
-a -l -t -u
列出目录下的所有文件,包括以 . 开头的隐含文件。 列出文件的详细信息,通常称为“长格式”。 以时间排序。 以文件上次被访问的时间排序。
more / less 命令
more / less:查看文件内容
用法:more less
文件名 文件名
该命令一次显示一屏文本,显示满之后,停下来,并在终端底 部打印出 “-- More --”,若要继续显示,按回车(显示下一行) 或空格键(显示下一屏)即可。若要退出,按 q
more 显示文件内容时,只能往前翻 less 可以相前翻,也可以向后翻。向前翻时,除了用回车和空 格外,还可以用字母 f;翻看前面的内容,可以用字母 b less 无法显示中文,文件包含中文时,可以用 more 或 cat
linuxshell编辑文件命令详解
linux shell编辑文件命令详解在Linux下,如果你需要进行文件编辑操作,那么应该使用那个命令呢?下面由店铺为大家整理了linux shell编辑文件命令的相关知识,希望对大家有帮助!linux shell编辑文件方式vi编辑器有3种基本工作模式首先需要知道vi编辑器有3种基本工作模式,分别是:命令模式、文本输入模式、和末行模式。
第一:命令行模式:该模式是进入vi编辑器后的默认模式。
任何时候,不管用户处于何种模式,按下ESC键即可进入命令模式。
在该模式下,用户可以输入vi命令,用户管理自己的文档。
此时从键盘上输入的任何字符都被当作编辑命令来解释。
若输入的字符是合法的vi 命令,则vi在接受用户命令之后完成相应的动作。
但需要注意的是,所输入的命令并不回显在屏幕上。
若输入的字符不是vi命令,vi会响铃报警。
第二:文本输入模式:在命令模式下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。
在该模式下,用户输入的任何字符都被vi当作文件内容保护起来,并将其显示在屏幕上。
在文本输入过程中,若想回到命令模式下,按ESC键即可。
第三:末行模式:末行模式也称ex转义模式。
在命令模式下,用户按“:”键即可进入末行模式下,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的说明符,等待用户输入命令。
多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。
末行命令在执行完后,vi自动回到命令模式。
如果要从命令模式转换到编辑模式,可以键入a或者i。
如果需要从文本模式返回,则按ESC即可。
在命令模式下输入“:”即可切换到末行模式,然后输入命令。
综上,一般我们使用命令打开文件的时候,是进入到命令模式。
在命令模式下,可以切换到文本输入模式和末行模式,但是文本输入模式和末行模式之间是不可以直接相互切换了,因此文本输入模式切换到末行模式,需要先回到命令模式再切换,反之亦然。
linuxshell脚本攻略学习12--文件权限详解,chmod命令详解,chown命令详。。。
linuxshell脚本攻略学习12--⽂件权限详解,chmod命令详解,chown命令详。
⽂件权限详解⼀、chmod命令详解⽂件权限和所有权是Unix/Linux⽂件系统最显著的特征之⼀。
linux中的每⼀个⽂件都与多种权限类型相关联,在这些权限中主要分类为3种:⽤户(User)是⽂件的所有者;⽤户组(Group)是多个⽤户的集合,系统允许⽤户进⾏某些形式的访问;其他⽤户(others)是除⽤户和⽤户组以外的任何⽤户。
⽤命令ls -l(或者ll)可以列出⽂件的权限:实例:amosli@amosli-pc:/$ ls -ldrwxr-xr-x 11 root root 4096 6⽉172013 usrlrwxrwxrwx 1 root root 33 12⽉523:52 initrd.img -> /boot/initrd.img-3.2.0-57-generic-rw-rw-r-- 1 amosli amosli 1575 12⽉2621:25 bdlogo.jpgprw-rw-r-- 1 amosli amosli 0 12⽉2001:21 scriptfifo第1列输出明确了后⾯的输出。
其中第⼀个字母的对应关系如下:- 普通⽂件d ⽬录c 字符设备b 块设备l 符号链接s 套接字p 管道剩下的每3个字符分为⼀组,共3组,如下所⽰:d rwx r-x r-xd表⽰⽬录,第⼀组的3个字符rwx表⽰对应⽤户的所有权限(所有者User),第⼆组对应⽤户组(Group)权限,第三组对应其他⽤户(Others)权限。
这9个字符(即9个权限).rwx分别表⽰read,write,execute,读权限,写权限,执⾏权限。
如何更改⽂件的权限??这⾥将⽤到的是chmod命令amosli@amosli-pc:~/learn/re$ chmod --helpUsage: chmod [OPTION]... MODE[,MODE]... FILE...or: chmod [OPTION]... OCTAL-MODE FILE...or: chmod [OPTION]... --reference=RFILE FILE...Change the mode of each FILE to MODE.-c, --changes like verbose but report only when a change is made--no-preserve-root do not treat `/' specially (the default)--preserve-root fail to operate recursively on `/'-f, --silent, --quiet suppress most error messages-v, --verbose output a diagnostic for every file processed--reference=RFILE use RFILE's mode instead of MODE values-R, --recursive change files and directories recursively--help display this help and exit--version output version information and exitEach MODE is of the form `[ugoa]*([-+=]([rwxXst]*|[ugo]))+'.Report chmod bugs to bug-coreutils@GNU coreutils home page: </software/coreutils/>General help using GNU software: </gethelp/>For complete documentation, run: info coreutils 'chmod invocation'参数说明(cfvR):-c : 若该档案权限确实已经更改,才显⽰其更改动作-f : 若该档案权限⽆法被更改也不要显⽰错误讯息-v : 显⽰权限变更的详细资料-R : 对⽬前⽬录下的所有档案与⼦⽬录进⾏相同的权限变更(即以递回的⽅式逐个变更),这个-R ⽤的还是很多的。
Linuxshelltr命令详解
Linuxshelltr命令详解Linux shell tr 命令详解1. ⽤途tr,translate的简写,主要⽤于压缩重复字符,删除⽂件中的控制字符以及进⾏字符转换操作。
2. 语法tr [OPTION]... SET1 [SET2]-s 替换重复的字符 -s: squeeze-repeats,⽤SET1指定的字符来替换对应的重复字符(replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character)-d 删除字符 -d:delete,删除SET1中指定的所有字符,不转换(delete characters in SET1, do not translate)-t 字符替换 -t:truncate,将SET1中字符⽤SET2对应位置的字符进⾏替换,⼀般缺省为-t-c 字符补集替换 -c:complement,⽤SET2替换SET1中没有包含的字符3. 实例a) -s 参数[root@localhost ~]# echo "aaabbbaacccfddd" | tr -s [abcdf]abacfd可以使⽤这⼀特点,删除⽂件中的空⽩⾏,实质上跟上⾯⼀样,都是⽤SET1指定的字符来替换对应的重复字符[root@localhost ~]# cat b.txtI like footballFootball is very fun!Hello[root@localhost ~]# cat b.txt | tr -s ["\n"]I like footballFootball is very fun!Hellob) -d 参数[root@localhost ~]# echo "a12HJ13fdaADff" | tr -d "[a-z][A-Z]"1213[root@localhost ~]# echo "a1213fdasf" | tr -d [adfs]1213c) -t 参数[root@localhost ~]# echo "a1213fdasf" | tr -t [afd] [AFO]A1213FOAsF上述代码将a转换为A,f转换为F,d转换为O。
Linux系统shell之top命令详解
Linux系统shell之top命令详解top命令是Linux下常⽤的性能分析⼯具,能够实时显⽰系统中各个进程的资源占⽤状况,类似于Windows的任务管理器。
下⾯详细介绍它的使⽤⽅法。
top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombieCpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% siMem: 191272k total, 173656k used, 17616k free, 22052k buffersSwap: 192772k total, 0k used, 192772k free, 123988k cachedPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND1379 root 16 0 7976 2456 1980 S 0.7 1.3 0:11.03 sshd14704 root 16 0 2128 980 796 R 0.7 0.5 0:02.72 top1 root 16 0 1992 632 544 S 0.0 0.3 0:00.90 init2 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/03 root RT 0 0 0 0 S 0.0 0.0 0:00.00 watchdog/0统计信息区前五⾏是系统整体的统计信息。
第⼀⾏是任务队列信息,同 uptime 命令的执⾏结果。
其内容如下:01:06:48 当前时间up 1:22 系统运⾏时间,格式为时:分1 user 当前登录⽤户数load average: 0.06, 0.60, 0.48 系统负载,即任务队列的平均长度。
Linux之19——Shell编程基础详解
Linux之19——Shell编程基础详解第⼀部分:Linux Shell 简介Shell 是⼀个⽤ C 语⾔编写的程序,它是⽤户使⽤ Linux 的桥梁。
Shell 既是⼀种命令语⾔,⼜是⼀种程序设计语⾔。
Shell 是指⼀种应⽤程序,这个应⽤程序提供了⼀个界⾯,⽤户通过这个界⾯访问操作系统内核的服务。
Ken Thompson 的 sh 是第⼀种 Unix Shell,Windows Explorer 是⼀个典型的图形界⾯ Shell。
当⼀个⽤户登陆linux 系统后,系统就会为该⽤户创建⼀个shell程序。
Shell的版本:Bourne Shell:是贝尔实验室开发的,unix普遍使⽤的shell,在编程⽅⾯⽐较优秀,但在⽤户交互⽅⾯没有其他shell优秀。
BASH:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell,在bourne shell基础上增强了很多特性,如命令补全,命令历史表等等Korn Shell:是对Bourne Shell 的发展,在⼤部分内容上与Bourne Shell兼容,集成了C Shell和Bourne shell优点。
C Shell:是SUN公司Shell的BSD版本,语法与c语⾔相似,⽐bourne shell 更适合编程第⼆部分 shell 程序设计基础2.1 shell输⼊输出2.1.1 echoecho命令可以显⽰⽂本⾏或变量取值,或者把字符串输⼊到⽂件中格式: echo stringecho的常⽤功能:\c 不换⾏ \f 不进纸 \t 跳格 \n 换⾏note:对于linux系统,必须使⽤-e选项来使以上转义符⽣效例:$ echo -e "hello\tboy"hello boyecho命令对特殊字符敏感,如果要输出特殊字符,需要⽤\屏蔽其特殊含义。
常⽤的特殊字符:双引号"" 反引号`` 反斜线\例:$ echo "\"\"" //想输出""""2.1.2 readread命令从键盘或者⽂件的某⼀⾏⽂本中读⼊信息,并将其赋给⼀个变量。
Linux13:shell脚本基本命令
Linux13:shell脚本基本命令shell脚本基本命令输出命令echo输出命令echo,基本模式就是echo [选项] [输出内容]输出内容如果包含空格,则必须将内容⽤双引号括起来。
选项-e可以使输出语句⽀持反斜线转义。
加⼊退格后就不会显⽰退格符左边的⼀个字符。
ascii码表中有对应的⼋进制和⼗六进制表⽰法,所以可以表⽰对应的字符。
显⽰环境变量的值:echo ${PATH}或echo $PATH,如果⼀个变量没有被设定,那么就什么都不返回。
颜⾊输出如将abcd⽤红⾊打印:echo -e "\e[1;31m abcd \e[0m"其中\e[1的意思是开启颜⾊输出,⽽\e[0m是结束颜⾊输出,31m代表红⾊,abcd是输出内容,其他颜⾊如下:第⼀个脚本与脚本执⾏⽅式新建⼀个脚本hello.sh:#!/bin/bash#the first programecho "hello world"exit 0其中第⼀⾏是声明,不是注释,不能省略,这是在指定使⽤哪个shell,如果没有这⾏有的程序可能⽆法执⾏。
第⼆⾏#开头的是注释,第四⾏是命令。
最后⼀⾏在设置回传值,在执⾏完该脚本后,执⾏echo $?就能查看这个值,可以通过这个⾃定义错误信息。
在脚本中有需要时要重新定义⼀下PATH环境变量,以便直接使⽤⼀些外部命令⽽不是写绝对路径:PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/module/jdk1.8.0_144/bin:/opt/module/hadoop-2.7.2/bin:/opt/module/hadoop-2.7.2/sbin:/root/bin export PATH执⾏shell脚本要先赋予其可rx权限:chomd 755 hello.sh然后再执⾏./hello.sh这⾥也可以⽤绝对路径执⾏。
linux下执行shell命令方法简介
linux下执⾏shell命令⽅法简介linux下执⾏shell命令有两种⽅法1. 在当前shell中执⾏shell命令2. 在当前shell中产⽣⼀个subshell,在subshell中执⾏shell命令1.在当前shell中执⾏shell命令主要就是在命令⾏中通过交互⽅式⽅式直接输⼊shell命令,命令⾏直接执⾏给出结果.⽐如这样:2.在当前shell中产⽣⼀个subshell,在subshell中执⾏shell命令⽐如我们把shell写成shell脚本的⽅式来运⾏,这个时候会先启动⼀个subshell来代替当前的shell,然后执⾏shell脚本⽐如#demo.sh#!/bin/bashread -p "please input your name:" nameecho "hello $name"添加执⾏权限 chmod +x demo.sh 执⾏如下这个脚本功能很简单,就是输出⼀⾏话,提⽰⽤户输⼊⾃⼰的名字,然后脚本输出hello xxx。
我主要想说下执⾏结果及其分析。
先来⼀张图:⾸先我这边是启动了两个shell,这个时候左右两个shell的pid号分别是2473和2505,并且这两个进程都是从⼀个叫做进程ID号为2465的进程中fork出来的⼦进程。
当执⾏了./demo.sh之后,会看到有三个bash的进程,进程ID分别是2473、2505、2633.其中2473和2505的分别对应之前的两个shell的进程ID。
多出了⼀个pid为2633的进程。
这个进程其实就是我们说的subshell。
看下这个pid为2633的进程的⽗进程的进程号是2473,就是说是从pid为2473的shell进程中启动⼀个subshell,subshell的进程ID号为2633。
当我们输⼊完warjiang,之后,脚本继续执⾏,执⾏完毕之后,subshell进程退出。
这个时候我们再去查看进程的时候,就会发现少了pid为2633的进程,也就是少了前⾯那个subshell。
使用Shell脚本进行命令行参数解析的技巧
使用Shell脚本进行命令行参数解析的技巧Shell脚本是一种在Unix或Linux系统上编写的脚本语言,它通过命令行界面执行一系列操作。
为了增加脚本的灵活性和适应不同的使用场景,我们经常需要在命令行中传递参数给Shell脚本。
本文将介绍一些使用Shell脚本进行命令行参数解析的技巧,帮助您更好地利用Shell脚本进行编程和自动化任务。
1. 使用$#获取参数数量在Shell脚本中,我们可以使用$#来获取命令行中传递的参数数量。
例如,如果您的脚本名为script.sh,执行命令如下:```shell./script.sh arg1 arg2 arg3```那么在脚本中使用$#将返回3,表示有3个参数被传递进来。
2. 使用$*或$@获取所有参数除了获取参数的数量,我们还可以使用$*或$@来获取所有的命令行参数。
这两个变量的区别在于,$*将所有的参数看作一个字符串,而$@将每个参数看作一个独立的字符串。
下面是一个示例,展示了如何使用$*和$@遍历所有的命令行参数:```shellfor arg in "$*"doecho $argdone``````shellfor arg in "$@"doecho $argdone```3. 使用$0获取脚本名称有时候,在Shell脚本中需要获取脚本的名称,以便在输出或日志中使用。
此时可以使用$0来获取当前脚本的文件名。
下面是一个示例,展示了如何使用$0获取脚本名称并输出:```shellecho "当前脚本的名称是:$0"```4. 使用$1、$2等获取特定位置的参数在命令行中传递的参数可以使用$1、$2等来获取。
其中$1表示第一个参数,$2表示第二个参数,以此类推。
下面是一个示例,展示了使用$1和$2获取命令行中的特定参数:```shellecho "第一个参数:$1"echo "第二个参数:$2"```5. 使用getopt进行高级参数解析在一些复杂的脚本中,我们可能需要更加灵活地解析命令行参数,包括可选参数和参数的值。
linuxshell脚本攻略学习9--rename命令详解
linuxshell脚本攻略学习9--rename命令详解rename命令详解:对⽂件重命名是常⽤的操作之⼀,⼀般对单个⽂件的重命名⽤mv命令,如:amosli@amosli-pc:~/learn/example$ lsabc.txtamosli@amosli-pc:~/learn/example$ mv abc.txt a.txtamosli@amosli-pc:~/learn/example$ lsa.txt那么如何对指⽂件进⾏重命名呢?当然你可以全部⼿动去赋值,但很影响效率,如下,将所有⽂件名称都改为⼤写的,如何做呢?amosli@amosli-pc:~/learn/example$ lsa.txtb.txtc.txtd.txte.txtamosli@amosli-pc:~/learn/example$ rename 'y/a-z/A-Z/' *amosli@amosli-pc:~/learn/example$ lsA.TXTB.TXTC.TXTD.TXTE.TXT如果⽤mv命令可能⼿动要花很长时间,但rename命令⼀句就搞定了。
下⾯来介绍rename命令⼯具:Linux的rename 命令有两个版本,⼀个是C语⾔版本的,⼀个是Perl语⾔版本的,早期的Linux发⾏版基本上使⽤的是C语⾔版本的,现在已经很难见到C语⾔版本的了,因为Perl版本的⽀持正则处理,所以功能更加强⼤,基本上现在linux下默认的rename命令都是Perl版的。
如何查看系统⾥的rename命令是哪个版本的?输⼊man rename命令,我的是ubuntu12.04,出现下⾯的提⽰:amosli@amosli-pc:~/learn/example$ man renameRENAME(1) Perl Programmers Reference Guide RENAME(1)NAMErename - renames multiple files..................很明显是Perl版的,如果输⼊man rename出现下⽅提⽰,那说明是C版:RENAME(1) Linux Programmer’s Manual RENAME(1)这⾥由于没怎么接触过C版的,就不做介绍了。
linux shell详解
linux shell详解Linux Shell 是一种运行在 Linux 操作系统上的命令行解释器,它提供了一种与系统进行交互的方式。
本文将详细介绍Linux Shell 的相关知识,包括 Shell 的基本概念、常用命令以及一些实用技巧。
## 一、Shell 的基本概念Shell 是用户与操作系统内核之间的接口,它接收用户输入的命令,并将其转发给内核执行。
在Linux 中,常见的Shell 有Bash (Bourne Again Shell)、Csh(C Shell)等。
Bash 是最常用的Shell,也是默认的 Shell。
Shell 的主要功能包括命令解析与执行、环境控制、脚本编程等。
用户可以通过Shell 提供的命令来执行文件操作、进程管理、权限控制等操作。
## 二、常用 Shell 命令1. 目录操作命令:- `ls`:列出当前目录下的文件和子目录。
- `cd`:切换当前工作目录。
- `pwd`:显示当前工作目录的路径。
2. 文件操作命令:- `cp`:复制文件或目录。
- `mv`:移动文件或目录。
- `rm`:删除文件或目录。
- `cat`:查看文件内容。
3. 进程管理命令:- `ps`:显示当前正在运行的进程。
- `top`:实时显示进程状态。
- `kill`:终止指定进程。
4. 网络命令:- `ping`:测试与指定主机的连通性。
- `ifconfig`:查看和配置网络接口信息。
- `ssh`:远程登录到其他主机。
5. 权限管理命令:- `chmod`:修改文件或目录的权限。
- `chown`:修改文件或目录的所有者。
- `chgrp`:修改文件或目录的所属组。
## 三、Shell 脚本编程Shell 脚本是一种可以用来编写一系列命令的脚本文件,它可以实现自动化任务的目的。
Shell 脚本通常以 `.sh` 作为文件后缀名。
以下是一个简单的Shell 脚本示例,用于统计指定目录下文件的数量:```shell#!/bin/bashdir_path="/path/to/directory"file_count=0# 遍历目录下的文件for file in $(ls $dir_path)doif [ -f $dir_path/$file ]; then((file_count++))fidoneecho "文件数量:$file_count"```以上脚本中,使用了 `for` 循环遍历目录下的文件,并通过判断是否是普通文件来统计文件数量。
linuxshellsed命令详解
linux shell sed命令详解sed命令是linux下的一个命令,那么这个命令到底是干嘛的呢?我们要怎么学习呢?下面由店铺为大家整理了sed命令的相关知识,希望大家喜欢!linux shell sed命令sed命令基本用法sed是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以是来自键盘输入、文本重定向、字符串、变量,甚至来自于管道的文本。
sed从文本的一个文本行或标准输入中读取数据,将其复制到缓冲区,然后读取命令行或脚本的第一个命令,对此命令要求的行号进行编辑,重复此过程,直到命令行或脚本中的所有命令都执行完毕。
相对于诸如vi等其他文本编辑器,sed可以一次性处理所有的编辑任务。
sed适用于以下三种场合:编辑相对交互式文本编辑器而言太大的文件。
编辑命令太复杂,在交互式文本编辑器中难以输入的情况。
对文件扫描一遍,但是需要执行多个编辑函数的情况。
sed只是对缓冲区中原始文件的副本进行编辑,并不编辑原始的文件。
因此,如果需要保存改动内容,需要将输入重定向到另一个文件,其格式为:sed 'sed命令' input-file > result-file该命令将sed命令对input-file的更改保存到result-file中。
sed 编辑命令中的w选项也可将结果保存到某文件中。
调用sed有三种方式,一种为Shell命令行方式,另外两种是将sed命令写入脚本文件,然后执行该脚本文件。
这三种方式的命令格式为:1、在Shell命令行输入命令调用sed,格式为: sed [选项] 'sed 命令' 输入文件 *注意,需要用单引号将sed命令引起来。
2、将sed命令插入脚本文件后,然后通过sed命令调用它,格式为:sed[选项] -f sed脚本文件输入文件3、将sed命令插入脚本文件后,最常用的方法是设置该脚本文件为可执行,然后直接执行该脚本,格式为:./sed脚本文件输入文件第3种方式的sed脚本文件与第2种有所不同,其sed脚本文件需要以sha-bang(#!)符号开头,sha-bang后面是解析这个脚本的程序名。
Linux主要shell命令详解
Linux主要shell命令详解shell是⽤户和Linux操作系统之间的接⼝。
Linux中有多种shell,其中缺省使⽤的是Bash。
本章讲述了shell的⼯作原理,shell的种类,shell 的⼀般操作及Bash的特性。
什么是shellLinux系统的shell作为操作系统的外壳,为⽤户提供使⽤操作系统的接⼝。
它是命令语⾔、命令解释程序及程序设计语⾔的统称。
shell是⽤户和Linux内核之间的接⼝程序,如果把Linux内核想象成⼀个球体的中⼼,shell就是围绕内核的外层。
当从shell或其他程序向Linux传递命令时,内核会做出相应的反应。
shell是⼀个命令语⾔解释器,它拥有⾃⼰内建的shell命令集,shell也能被系统中其他应⽤程序所调⽤。
⽤户在提⽰符下输⼊的命令都由shell先解释然后传给Linux核⼼。
有⼀些命令,⽐如改变⼯作⽬录命令cd,是包含在shell内部的。
还有⼀些命令,例如拷贝命令cp和移动命令rm,是存在于⽂件系统中某个⽬录下的单独的程序。
对⽤户⽽⾔,不必关⼼⼀个命令是建⽴在shell内部还是⼀个单独的程序。
shell ⾸先检查命令是否是内部命令,若不是再检查是否是⼀个应⽤程序(这⾥的应⽤程序可以是Linux本⾝的实⽤程序,如ls和rm,也可以是购买的商业程序,如xv,或者是⾃由软件,如emacs)。
然后shell在搜索路径⾥寻找这些应⽤程序(搜索路径就是⼀个能找到可执⾏程序的⽬录列表)。
如果键⼊的命令不是⼀个内部命令并且在路径⾥没有找到这个可执⾏⽂件,将会显⽰⼀条错误信息。
如果能够成功找到命令,该内部命令或应⽤程序将被分解为系统调⽤并传给 Linux内核。
shell的另⼀个重要特性是它⾃⾝就是⼀个解释型的程序设计语⾔,shell程序设计语⾔⽀持绝⼤多数在⾼级语⾔中能见到的程序元素,如函数、变量、数组和程序控制结构。
shell编程语⾔简单易学,任何在提⽰符中能键⼊的命令都能放到⼀个可执⾏的shell程序中。
Linux之基础bashshell命令
Linux之基础bashshell命令linux系统构成linux内核主要负责系统内存管理软件程序管理硬件设备管理⽂件系统管理GNU⼯具执⾏⼀些标准功能,⽐如控制⽂件和程序。
⼜分为核⼼⼯具和shell.⼤部分Linux发⾏版的默认shell都是GNU bash shell.浏览⽂件⽬录常见的linux⽬录名称:虚拟的根⽬录:/ ⼆进制⽬录:/bin root⽤户的主⽬录: /root …等等遍历⽬录:cd destination 后⾯的参数可以使⽤绝对⽂件路径,也可以使⽤相对⽂件路径绝对路径输⼊输⼊: ~$ cd /usr/bin结果:/usr/bin$:~符号⽤来追踪当前所在的虚拟⽬录结构中的位置,表⽰shell会话位于你的主⽬录中。
pwd命令可以显⽰出shell会话的当前⽬录,这个⽬录被称为当前⼯作⽬录。
纯cd命令可以从任何⼀级跳回主⽬录相对路径输⼊假如你位于home⽬录,希望切换到⼦⽬录document,可以直接使⽤1: cd doc~/doc$两个特殊字符单点符(.),表⽰当前⽬录双点符(..),表⽰当前的⽗⽬录⽐如你现在处于主⽬录下的doc⽬录,想要切换到主⽬录的dow下,可以这样做:1: cd ../dow也可以在其他切换中加多个双点符⽐如1: cd ../../etc⽂件和⽬录列表ls命令显⽰当前⽬录下的⽂件和⽬录,可以⽤-F参数命令轻松区分⽂件和⽬录,-a显⽰隐藏⽂件(前⾯带点的),-R列出当前⽬录下包含的⼦⽬录中的⽂件。
这些参数可以叠加,⽐如 ls -alF-l参数产⽣长列表格式的输出。
按照顺序显⽰:⽂件类型,权限,硬链接总数,属主的⽤户名,组的组名,⼤⼩(单位字节),上次的修改时间,⽂件名和⽬录过滤输出列表只会显⽰该⽂件的信息,⽂件名放在所有参数后⾯。
1: $ls –l my_script代表⼀个任意的字符,*代表0个或多个1: $ls –l my_scr?pt2: $ls –l my*3: $ls –l my_s*t[ai]代表a或者i,[a-i]字母范围a-i,[!a]排除a创建⽂件1: touch filename2: touch dir/filenametouch命令创建⼀个空⽂件,并将你的⽤户名作为⽂件的属主。
linux常用shell命令
linux常用shell命令学习linux我们必须掌握linux常用的shell命令,下面由店铺为大家整理了linux常用shell命令的相关知识,希望大家喜欢!linux常用shell命令一、文件、目录操作命令1、ls命令功能:显示文件和目录的信息ls 以默认方式显示当前目录文件列表ls -a 显示所有文件包括隐藏文件ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M 2G)ls -lt 显示文件,按照修改时间排序ls -F 在列出的文件名和目录名后添加标志。
例如,在可执行文件后添加“*”,在目录名后添加“/”以区分不同的类型。
2、cd命令功能:改名目录cd dir 切换到当前目录下的dir目录cd / 切换到根目录cd .. 切换到到上一级目录cd ../.. 切换到上二级目录cd ~ 切换到用户目录,比如是root用户,则切换到/root下3、cp命令功能:copy文件cp source target 将文件source复制为targetcp /root /source . 将/root下的文件source复制到当前目录cp –av soure_dir target_dir 将整个目录复制,两目录完全一样4、rm命令功能:删除文件或目录rm file 删除某一个文件rm -f file 删除时候不进行提示。
可以于r参数(递归删除)配合使用rm -rf dir 删除当前目录下叫dir的整个目录5、mv命令功能:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令mv source target 将文件source更名为target6、diff功能:比较文件内容diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的comm file1 file2 比较文件,显示两个文件不相同的内容7、ln命令功能:建立链接。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用控制组合键
组合键 Ctrl+C Ctrl+\ Ctrl+D Ctrl+Z Ctrl+M Ctrl+S Ctrl+Q Ctrl+U 含义 中止对话进程 中止对话进程 结束输入,即EOF,或注销 Linux。 暂停/挂起对话进程 相当于按“Enter”键 暂停/冻结屏幕输出 恢复屏幕输出 将命令整列删除
Linux中的shell有多种类型,最常用的是: – Bourne shell(sh) – C shell(csh) – Korn shell(ksh) – Bourne Again shell(bash) • Linux操作系统缺省的shell是Bourne Again shell。它是Bourne shell的扩展,与Bourne shell完全兼容。 • 查询当前用户shell: #echo $SHELL
二、掌握shell的常用命令
Linux的常用命令
命令行
用户登录时,实际进入了shell,它遵 循一定的语法将输入的命令加以解释并传给 系统。命令行中输入的第一个字必须是一个 命令的名字,第二个字是命令的选项或参 数,命令行中的每个字必须由空格或TAB隔 开,格式如下: $ Command Option Arguments
shell中的特殊字符(续)
• 引号 1)单引号 ' 由单引号括起来的字符都作为普通字符出现。特殊字符用单 引号括起来以后,也会失去原有意义,而只作为普通字符解释。 例如:
# pwd /home/xyz # string= ‘current directory is `pwd` ’ string=‘ `pwd`’ # echo $string current directouy is `pwd` #
信息交流
2)write命令 功能: • 向系统中某一个用户发送信息。 语法: # write 用户帐号 [终端名称] • 例如: # write user1 tty2 • 此时系统进入发送信息状态,用户可以输入要发送的信息,输入完 毕,希望退出发送状态时,按组合键 < Ctrl+c>即可。
信息交流
#talk user2@ pts/2 // 等待user2输入:talk user1@ 开始对话,按 Ctrl+c结束对话。
系统信息显示
1)uname命令 功能: • 显示计算机以及操作系统的相关信息。 语法: # uname [-amnrsv] 选项: • - a:显示全部信息。 • -m:显示计算机类型。 • -n:显示在网络上的主机名称。 • -r: 显示操作系统的发行编号。 • -s:显示操作系统的名称。 • -v:显示操作系统的版本。
选项和参数(续)
• • 选项可用于改变命令执行的动作的类型,包括一个或多个字母的代 码,多个选项可用一个“-” 连起来,如 ls -l -a 与 ls –la 相同。 参数是在命令行中的选项之后键入的一个或多个单词
$ ls -l /test -rw-r--r-- 2 wzh book 22 Apr 20 20:37 motd -rw-r--r-- 2 wzh book 796 Apr 20 20:37 passwd $
Shell 程序登录
当普通用户成功登录,系统将执行一个 shell程序。shell进程提供 命令行提示符。作为默认值,对普通用户用 “$”作提示符,对超级用户 (root)用“#”作提示符。
$ #
普通用户 超级用户
Shell提示符的定制
Bash的提示符是利用环境变量 PS1和PS2定制的。 格式:#PS1=新提示符 [root@www /]#PS1=RHEL4 : // 修改当前提示符为 “RHEL4:” RHEL4 : 返回常规的提示符: RHEL4:PS1=“[\u@\h\w]\$” 或 RHEL4: PS1=“[root@host ~]# ”
信息交流
4)wall命令 功能: • 对全部已登录的用户发送信息。 语法: # wall [消息内容]
# wall ‘Please shutdown your computer after worktime!!!' Broadcast message from root (tty1) Fri Nov 26 14:15:07 2006… ‘Please shutdown your computer after worktime!!!
3) mesg命令 功能: • 设定是否允许其他用户用 write命令给自己发送信息。 语法: # mesg 选项 说明: • 如果允许别人给自己发送信息,输入命令: # mesg y • 否则,输入:
# mesg n • 对于超级用户,系统的默认值为 n;而对于一般用户系统的默认值为 y。 如果mesg后不带任何参数,则显示当前的状态是 y还是n。
系统运行级别
修改系统运行级别: #vi /etc/inittab id:5:initdefault: // 把5修改为想要的运行级别。 或者 #telinit n
//n为0~6,只有root用户才能使用此命令。
系统运行级别
查看系统运行级别: #runlevel
特殊字符及引号
符号 ~ ` # $ & * ( ) \ 命令取代 解释 变量取值 后台进程工作 通配符,代表任何多个字符 子shell开始 子shell结束 使命令持续到下一行 含义 用户宿主目录 符号 | ? < > ‘ “ / ; 管道 通配符,代表任何单一字符 输入重定向 输出重定向 单引号(没有命令置换功能) 双引号(具有命令置换功能) 路径分割符 命令分割符 含义
用户 Shell 内核
硬件
操作系统
什么是Shell
用户 interpretive programming language Shell 内核
执行命令
管道
硬件 I/O 重定向 操作系统
环境设置
variable assignment
文件的命名规则 命令替换
variable substitution
shell的种类
•
执行以上命令后,用户的屏幕上显示出 “‘Please shutdown your computer after worktime!!!' ”信息后,并不出现系统提示符 $(#),再 次按回车键后,屏幕出现系统提示符。
信息交流
4)talk命令 功能: • 发送信息给其他使用者。 语法: # talk [用户] [终端名称] # talk user2 // 等待user2输入:talk user1 开始对话。
系统运行级别
Linux系统运行级别由列在 /etc/rc.d/rc<x>.d目录中的服务来定义,其中 <x> 是运行级别的数字: 0:终止所有进程,关机。 1:单用户模式,用于维护系统,只有少数进程运行。 2:多用户模式,和运行级别3一样(除没有启动NFS服务)。 3:完整的多用户模式,进入Linux系统的文本字符界面。 4:没有使用(可由用户定义)。 5:完整的多用户模式,进入Linux系统的基于X的图形界面。 6:重新启动。
shell中的特殊字符(续)
3)反引号 ` 反引号括起来的字符串被 shell解释为命令行,在执行时, shell首先执行该命令行,并以它的标准输出结果取代整个反引号 (包括两个反引号)部分。例如:
# pwd /home/xyz # string="current directory is `pwd`" #echo $string current directour is /home/xyz # shell执行echo命令时,首先执行 `pwd`中的命令pwd,并将输出结果 /home/xyz取代`pwd`这部分,最后输出替换后的整个结果
Linux shell命令初学解析
目标
• • • 了解shell 掌握shell的常用命令 掌握vi编辑器的用法
一、了解shell
掌握Shell
• • • • shell是用户和Linux操作系统之间的接口 在Linux中几乎所有的操作都可以通过命令行完成 shell是一个命令语言解释器,它拥有自己内建的 shell命令集,可以使 用该命令集编写程序,shell也能被系统中其它应用程序所调用。 使用shell编写的程序称为 shell脚本
$PATH环境变量
#set // 查看全部环境变量 #echo $ PATH // 查看某一环境变量 #export PATH=$PATH:/some/directory // 改变某一环境变量值 #echo $PATH // 查看更改后环境变量值
虚拟控制台
文本界面下: Alt+F1~F6切换到字符虚拟控制台, Alt+F7切换到图形界面。 图形界面下: Alt+Ctrl+F1~F6 切换到字符虚拟控制台, Alt+F7切换到图形界面。
bash配置文件
bash 在用户登录时从四个文件中读取环境设定: 全局设置文件: ① /etc/profile ② /etc/bashrc 用户设置文件: ③ ~/.bash_profile ④ ~/.bashrc\ 其中在每个用户的宿主目录下: .bash_history:记录用户以前输入的命令。 .bash_logout:用户退出shell时要执行的命令。 .bash_profile:用户登入shell时要执行的命令。 .bashrc:每次打开新的shell时要执行的命令。
信息交流
1)echo 命令 功能: • 在显示器上显示一段文字,一般起到一个提示的作用。 语法: # echo [ -n ] 字符串 选项: • n表示输出文字后不换行;字符串可以加引号,也可以不加引号。用 echo命令输出加引号的字符串时,将字符串原样输出;用 echo命令输 出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各 字符串之间用一个空格分割。 • echo命令也可以用来显示变量指定的值,如: #echo hello linux!!!!!! # echo $PATH