ImageVerifierCode 换一换
格式:PDF , 页数:215 ,大小:2.51MB ,
资源ID:3046838      下载积分:2 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/3046838.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(笨办法学 Linux 中文版.pdf)为本站会员(a****2)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

笨办法学 Linux 中文版.pdf

1、1.11.21.31.41.51.61.71.81.91.101.111.121.131.141.151.161.171.181.191.201.211.221.231.241.251.261.271.281.291.301.311.321.331.34目錄笨办法学Linux中文版练习0:起步练习1:文本编辑器,vim练习2:文本浏览器,少即是多练习3:Bash:Shell、.profile、.bashrc、.bash_history练习4:Bash:处理文件,pwd,ls,cp,mv,rm,touch练习5:Bash:环境变量,env,set,export练习6:Bash:语言设置,LANG

2、,locale,dpkg-reconfigurelocales练习7:Bash:重定向,stdin,stdout,stderr,|,tee,pv练习8:更多的重定向和过滤:head,tail,awk,grep,sed练习9:Bash:任务控制,jobs,fg练习10:Bash:程序退出代码(返回状态)练习11:总结练习12:文档:man,info练习13:文档:Google练习14:包管理:Debian包管理工具aptitude练习15:系统启动:运行级别,/etc/init.d,rcconf,update-rc.d练习16:处理进程,ps,kill练习17:任务调度:cron,at练习18:

3、日志:/var/log,rsyslog,logger练习19:文件系统:挂载,mount,/etc/fstab练习20:文件系统:修改和创建文件系统,tune2fs,mkfs练习21:文件系统:修改根目录,chroot练习22:文件系统:移动数据,tar,dd练习23:文件系统:权限,chown,chmod,umask练习24:接口配置,ifconfig,netstat,iproute2,ss,route练习25:网络:配置文件,/etc/network/interfaces练习26:网络:封包过滤配置,iptables练习27:安全Shell,ssh,sshd,scp练习28:性能:获取性能

4、情况,uptime,free,top练习29:内核:内核消息,dmesg练习30:打磨、洗练、重复:总复习下一步做什么Debian手动安装12笨办法学Linux中文版原书:LearnLinuxTheHardWay(version)译者:飞龙自豪地采用谷歌翻译在线阅读PDF格式EPUB格式MOBI格式代码仓库赞助我协议CCBY-NC-SA4.0笨办法学Linux中文版3练习0:起步原文:Exercise0.TheSetup译者:飞龙协议:CCBY-NC-SA4.0自豪地采用谷歌翻译Windows,手动安装非常长的指南Windows,VirtualBox虚拟机(.ova格式的预配置映像)你需要什么

5、VitualBox,虚拟机播放器。putty,终端模拟器。预配置的VirtualBoxDebian映像。这样做下载并安装VirtualBox下载并安装Putty。下载此文件:https:/ Import练习0:起步5选择 vm1并点击 Start等待 vm1启动练习0:起步6启动 putty,在 HostName或者IPAddress中输入 localhost。之后点击 Open练习0:起步7输入 user1,123qwe,。练习0:起步8恭喜,你现在登入了 vm1。练习0:起步9Linux你已经使用Linux了,你还需要什么嘛?开个玩笑。你可以严格遵循我的指南,或者随意在你的系统上做实验。M

6、acOS以后我会在这里把步骤补上。练习0:起步10练习1:文本编辑器,vim原文:Exercise1.TextEditor,The:vim译者:飞龙协议:CCBY-NC-SA4.0自豪地采用谷歌翻译在Linux中,就像任何类Unix操作系统,一切都只是文件。而Unix哲学指出,配置文件必须是人类可读和可编辑的。在几乎所有的情况下,它们只是纯文本。所以,首先,你必须学习如何编辑文本文件。为此,我强烈建议你学习vim的基础知识,这是在Linux中处理文本的最强大的工具之一。Vim是由BillJoy于1976年编写的,vi的重新实现。vi实现了一个非常成功的概念,甚至MicrosoftVisualS

7、tudio2012有一个插件,它提供了一个模式,与这个超过35岁的编辑器兼容。你可以在这里玩转它(这是在浏览器中运行的真正的Linux)。完成之后,最后获取我的虚拟机。如果我还没成功说服你,你可以了解nano来代替。但至少要试试。现在,登入 vm1,之后键入:vimhello.txt你应该看到:Hello,braveadventurer!hello.txtNewFile0,0-1All有一个笑话说,vim有两种模式-“反复哔哔”和“破坏一切”。那么,如果你不知道如何使用vim,这是非常真实的,因为vim是模态的文本编辑器。模式是:练习1:文本编辑器,vim11普通模式:移动光标并执行删除,复制

8、和粘贴等文本操作。插入模式:输入文本。译者注:还有一个命令模式,用于生成真随机字符串(笑)。这十分使新手头疼,因为他们试图尽可能地避免普通模式。那么这是错误的,所以现在我将给你正确的大纲来使用vim:startvimwhileeditingisnotfinished,repeatnavigatetodesiredpositioninNORMALmodeenterINSERTmodebypressingitypetextexitINSERTmodebypressingwheneditingisfinished,type:wq最重要的是,几乎任何时候都呆在普通模式,短时间内进入插入模式,然后立即退

9、出。以这种方式,vim只有一种模式,而这种模式是普通模式。现在让我们试试吧。记住,按 i进入插入模式,以及 返回到普通模式。键入以下内容(在每行末尾按):iRosesareredLinuxisscary这是你应该看到的:RosesareredLinuxisscary4,17All现在我给你命令列表,在普通模式下移动光标:h-向左移动练习1:文本编辑器,vim12 j-向下移动 k-向上移动 l-右移 i-进入插入模式 o-在光标下插入一行并进入插入模式-退出插入模式 x-删除光标下的符号 dd-删除一行:wq-将更改写入文件并退出。是的,没错,这是一个冒号,后面跟着 wq和。:q!-不要对文件

10、进行更改并退出。那就够了。现在,将光标放在第一行并输入:oVioletsareblue之后,将光标放在 Linuxisscary那一行,并输入:oButImscarytoo你应该看到:RosesareredVioletsareblueLinuxisscaryButImscarytoo4,17All现在键入:wq保存文件,并退出。你应该看到:练习1:文本编辑器,vim13VioletsareblueLinuxisscaryButImscarytoohello.txt4L,64Cwrittenuser1vm1:$好的。你做到它了。你刚刚在vim中编辑了文本文件,很好很强大!附加题通过键入键入 vi

11、mhello.txt再次启动vim,并尝试我给你的一些命令。玩这个游戏,它会让你更熟悉vim:http:/vim- less,少即是多。“比什么多呢?”你可能会问。嗯.有一次,有一个被称为 more的浏览器。它很简单,只是向你显示你要求它显示的文本文件。它是如此简单,只能以一个方向显示文本文件,也就是向前。马克恩德尔曼(MarkNudelman)发现它并不那么令人满意,1983年至1985年,他编写了 less。从那以后,它拥有了许多先进的功能。因为它比 more更先进,一句话就诞生了:“少即是多,多即是少”。好吧,让我们试试吧。输入:less.bashrc你应该看到:user1vm1:$le

12、ss.bashrc#/.bashrc:executedbybash(1)fornon-loginshells.#see/usr/share/doc/bash/examples/startup-files(inthepackagebash-doc)#forexamples#Ifnotrunninginteractively,dontdoanything-z$PS1&return#dontputduplicatelinesinthehistory.Seebash(1)formoreoptions#dontoverwriteGNUMidnightCommanderssettingofignoresp

13、ace.HISTCONTROL=$HISTCONTROL$HISTCONTROL+:ignoredups.bashrc练习2:文本浏览器,少即是多15如果你的终端不是足够宽,文本将看起来像一团糟,因为它放不下整行。要修复它,请键入-ch。是的,dash-dash-ch-ENTER-ENTER。这将开启水平滚动。为了向上向下文浏览文字,使用已经熟悉的 j和 k。退出按q。现在我将向你展示 less的高级功能,这样你只能看到所需的那些行。键入&enable。你应该看到这个:#enablecolorsupportoflsandalsoaddhand#enableprogrammablecomplet

14、ionfeatures(you#this,ifitsalreadyenabledin/etc/bash.b&(END)注意看!为了移除过滤器,只需键入&。同样,要记住的命令:j-向上移动 k-向下移动 q-退出 less。-chop-long-lines或-ch-开启水平滚动。/-搜索。&something-只显示文件中包含某些内容的行。附加题Linux具有在线手册,通过键入 man来调用。默认情况下,在我们的系统中,本手册将使用 less来查看。键入 manman并阅读,然后退出。就是这样,没有更多的附加题了。练习2:文本浏览器,少即是多16练习3:Bash:Shell、.profile、.

15、bashrc、.bash_history。原文:Exercise3.Bash:Theshell,.profile,.bashrc,.bash_history译者:飞龙协议:CCBY-NC-SA4.0自豪地采用谷歌翻译当使用CLI(命令行界面)来使用Linux时,你正在与一个名为shell的程序进行交互。所有你输入的都传递给shell,它解释你输入的内容,执行参数扩展(这有点类似于代数中的花括号扩展),并为你执行程序。我们将使用的Shell称为Bash,它代表BourneAgainShell,而BourneAgainShell又是一个双关语。现在我将使用纯中文,向大家介绍一下bash的工作方式:

16、你登入Linux虚拟机你的身份由用户名(user1)和密码(123qwe)确定。Bash执行了。Bash从你的配置中读取并执行首个命令,它定义了:命令提示符是什么样子使用Linux时,你会看到什么颜色你的编辑器是什么你的浏览器是什么.读取首个命令后,Bash进入循环没有通过输入 exit或者按下,来要求退出的时候:读取一行解析这一行,扩展花括号使用扩展参数执行命令我重复一下,你输入的任何命令都不会直接执行,而是首先扩展,然后执行。例如,当你输入 ls*时,星号*将扩展为当前目录中所有文件的列表。现在你将学习如何修改你的配置,以及如何编写和查看你的历史记录。这样做练习3:Bash:Shell、.

17、profile、.bashrc、.bash_history171:ls-al2:cat.profile3:echoHello,$LOGNAME!4:cp-v.profile.profile.bak5:echoechoHello,$LOGNAME!.profile6:tail-n5.profile7:history-w8:ls-altr9:cat.bash_history10:exit你会看到什么user1vm1spassword:Linuxvm12.6.32-5-amd64#1SMPSunMay604:00:17UTC2012x86_64TheprogramsincludedwiththeDe

18、bianGNU/Linuxsystemarefreesoftware;theexactdistributiontermsforeachprogramaredescribedintheindividualfilesin/usr/share/doc/*/copyright.DebianGNU/LinuxcomeswithABSOLUTELYNOWARRANTY,totheextentpermittedbyapplicablelaw.Lastlogin:ThuJun712:03:292012fromsis.siteHello,user1!user1vm1:$ls-altotal20drwxr-xr-

19、x2user1user14096Jun712:18.drwxr-xr-x3rootroot4096Jun621:49.-rw-r-r-1user1user1220Jun621:48.bash_logout-rw-r-r-1user1user13184Jun621:48.bashrc-rw-r-r-1user1user1697Jun712:04.profileuser1vm1:$cat.profile#/.profile:executedbythecommandinterpreterforloginshells.#Thisfileisnotreadbybash(1),if/.bash_profi

20、leor/.bash_login#exists.#see/usr/share/doc/bash/examples/startup-filesforexamples.#thefilesarelocatedinthebash-docpackage.#thedefaultumaskissetin/etc/profile;forsettingtheumask#forsshlogins,installandconfigurethelibpam-umaskpackage.#umask022练习3:Bash:Shell、.profile、.bashrc、.bash_history18#ifrunningba

21、shif-n$BASH_VERSION;then#include.bashrcifitexistsif-f$HOME/.bashrc;then.$HOME/.bashrcfifi#setPATHsoitincludesusersprivatebinifitexistsif-d$HOME/bin;thenPATH=$HOME/bin:$PATHfiechoHello,$LOGNAME!user1vm1:$echoHello,$LOGNAME!Hello,user1!user1vm1:$cp-v.profile.profile.bak.profile-.profile.bakuser1vm1:$e

22、choechoHello,$LOGNAME!.profileuser1vm1:$tail-n5.profile#setPATHsoitincludesusersprivatebinifitexistsif-d$HOME/bin;thenPATH=$HOME/bin:$PATHfiechoHello,$LOGNAME!user1vm1:$history-wuser1vm1:$ls-altrtotal28-rw-r-r-1user1user13184Jun621:48.bashrc-rw-r-r-1user1user1220Jun621:48.bash_logoutdrwxr-xr-x3rootr

23、oot4096Jun621:49.-rw-r-r-1user1user1741Jun712:19.profile.bak-rw-1user1user1308Jun712:21.bash_history-rw-r-r-1user1user1697Jun712:25.profiledrwxr-xr-x2user1user14096Jun712:25.user1vm1:$cat.bash_historyls-alcat.profileechoHello,$LOGNAME!cp-v.profile.profile.bakechoechoHello,$LOGNAME!.profiletail-n5.pr

24、ofilehistory-wls-altruser1vm1:$exitlogout不要害怕,所有命令都会解释。行号对应“现在输入它”的部分。解释练习3:Bash:Shell、.profile、.bashrc、.bash_history191.打印当前目录中的所有文件,包括隐藏的文件。选项-al告诉 ls以 long格式打印文件列表,并包括所有文件,包括隐藏文件。.profile和.bash_rc是隐藏文件,因为它们以点.开头。以点开头的每个文件都是隐藏的,这很简单。这两个特殊文件是shell脚本,它们包含登录时执行的指令。2.打印出你的.profile文件。只是这样。3.告诉你的shell,你

25、这里是bash,输出一个字符串 Hello,$LOGNAME!,用环境变量$LOGNAME替换$LOGNAME,它包含你的登录名。4.将.profile文件复制到.profile.bak。选项-v让 cp详细输出,这意味着它会打印所有的操作。记住这个选项,它通常用于让命令给你提供比默认更多的信息。5.在.bash_rc配置文件中添加一行。从现在开始,每次登录到 vm1时,都将执行该命令。注意,代表向文件添加了一些东西,但 意味着使用一些东西来替换文件。如果你不小心替换了.profile而不是向它添加,则命令cp-v.profile.bak.profile会向你返回旧的.profile文件。6.

26、从.profile文件中精确打印出最后5行。7.将所有命令历史写入.bash_history文件。通常这是在会话结束时完成的,当你通过键入 exit或按+D关闭它。8.打印当前目录中的文件。选项-tr表示文件列表按时间反向排序。这意味着最近创建和修改的文件最后打印。注意你现在有两个新的文件。9.打印出保存命令历史记录的文件。注意你所有的输入都在这里。10.关闭会话附加题在线搜索为什么 ls-al告诉你“总共20”,但是只有5个文件存在。这是什么意思?请注意,.和.是特殊文件条目,分别对应于当前目录和父目录的。登录 vm1并键入 man-K/etc/profile,现在使用光标键滚动到 INVO

27、CATION部分并阅读它。要退出 man,请键入q。键入 manman来找出 man-K选项的含义。在命令之前键入 uname与空格。现在,键入 history。看到了吗?如果你将空格放到命令前面,则不会将其保存在历史记录中!提示:当你需要在命令行上指定密码时,很实用。练习3:Bash:Shell、.profile、.bashrc、.bash_history20找到bash的wiki页面,并尝试阅读它。不用担心,如果它吓到你,只需要省略可怕的部分。练习3:Bash:Shell、.profile、.bashrc、.bash_history21练习4:Bash:处理文件,pwd,ls,cp,mv,

28、rm,touch原文:Exercise4.Bash:workingwithfiles,pwd,ls,cp,mv,rm,touch译者:飞龙协议:CCBY-NC-SA4.0自豪地采用谷歌翻译在Linux中,一切都是文件。但是什么是文件?现在完全可以说,它是一个包含一些信息的对象。它通常定义如下:计算机文件是用于存储信息的,任意的信息块或资源。它可用于计算机程序,并且通常基于某种持久的存储器。文件是持久的,因为它在当前程序完成后,仍然可用于其它程序。计算机文件可以认为是纸质文档的现代对应物,它们通常保存于办公室和图书馆的文件中,这是该术语的来源。但这个定义太笼统了,所以让我们更具体一些。manst

29、at告诉我们,文件是一个对象,它包含以下属性:structstatdev_tst_dev;/*IDofdevicecontainingfile*/ino_tst_ino;/*inodenumber*/mode_tst_mode;/*protection*/nlink_tst_nlink;/*numberofhardlinks*/uid_tst_uid;/*userIDofowner*/gid_tst_gid;/*groupIDofowner*/dev_tst_rdev;/*deviceID(ifspecialfile)*/off_tst_size;/*totalsize,inbytes*/bl

30、ksize_tst_blksize;/*blocksizeforfilesystemI/O*/blkcnt_tst_blocks;/*numberof512Bblocksallocated*/time_tst_atime;/*timeoflastaccess*/time_tst_mtime;/*timeoflastmodification*/time_tst_ctime;/*timeoflaststatuschange*/;不要害怕,只要记住以下属性:大小,这正好是它所说的。上次访问的时间,当你查看文件时更新。上次修改的时间,当你更改文件时更新。现在你将学习如何打印当前目录,目录中的文件,复制

31、和移动文件。练习4:Bash:处理文件,pwd,ls,cp,mv,rm,touch22这样做1:pwd2:ls3:ls-a4:ls-al5:ls-altr6:cp-v.bash_history,17:cp-v.bash_history1.bash_history28:mv-v.bash_history1.bash_history29:rm-v.bash_history210:touch.bashrc11:ls-al12:ls.*你应该看到什么Hello,user1!user1vm1:$pwd/home/user1user1vm1:$lsuser1vm1:$ls-a.bash_history.b

32、ash_history1.bash_logout.bashrc.lesshst.profile.profile.bak.profile.bak1user1vm1:$ls-altotal40drwxr-xr-x2user1user14096Jun713:30.drwxr-xr-x3rootroot4096Jun621:49.-rw-1user1user1853Jun715:03.bash_history-rw-1user1user1308Jun713:14.bash_history1-rw-r-r-1user1user1220Jun621:48.bash_logout-rw-r-r-1user1

33、user13184Jun621:48.bashrc-rw-1user1user145Jun713:31.lesshst-rw-r-r-1user1user1697Jun712:25.profile-rw-r-r-1user1user1741Jun712:19.profile.bak-rw-r-r-1user1user1741Jun713:12.profile.bak1user1vm1:$ls-altrtotal40-rw-r-r-1user1user13184Jun621:48.bashrc-rw-r-r-1user1user1220Jun621:48.bash_logoutdrwxr-xr-

34、x3rootroot4096Jun621:49.-rw-r-r-1user1user1741Jun712:19.profile.bak-rw-r-r-1user1user1697Jun712:25.profile-rw-r-r-1user1user1741Jun713:12.profile.bak1-rw-1user1user1308Jun713:14.bash_history1drwxr-xr-x2user1user14096Jun713:30.-rw-1user1user145Jun713:31.lesshst-rw-1user1user1853Jun715:03.bash_history

35、练习4:Bash:处理文件,pwd,ls,cp,mv,rm,touch23user1vm1:$cp-v.bash_history,1.bash_history-.bash_history1user1vm1:$cp-v.bash_history1.bash_history2.bash_history1-.bash_history2user1vm1:$mv-v.bash_history1.bash_history2.bash_history1-.bash_history2user1vm1:$rm-v.bash_history2removed.bash_history2user1vm1:$touch

36、.bashrcuser1vm1:$ls-altotal36drwxr-xr-x2user1user14096Jun1412:23.drwxr-xr-x3rootroot4096Jun621:49.-rw-1user1user1853Jun715:03.bash_history-rw-r-r-1user1user1220Jun621:48.bash_logout-rw-r-r-1user1user13184Jun1412:24.bashrc-rw-1user1user145Jun713:31.lesshst-rw-r-r-1user1user1697Jun712:25.profile-rw-r-

37、r-1user1user1741Jun712:19.profile.bak-rw-r-r-1user1user1741Jun713:12.profile.bak1user1vm1:$user1vm1:$ls.*.bash_history.bash_logout.bashrc.lesshst.profile.profile.bak.profile.bak1.:ls.out.:user1解释1.打印你当前的工作目录,这是你的主目录。请注意它为何不同于 user1vm1:中的,这也表示,你在你的home目录中。这是因为 是你的主目录的缩写。2.这里没有任何东西,因为你的主目录中只有隐藏的文件。记住,

38、隐藏的文件是以点开头的名称。3.打印主目录中的所有文件,因为-a参数让 ls显示所有文件,包括隐藏文件。4.以长格式打印主目录中的所有文件:权限,所有者,组,大小,时间戳(通常是修改时间)和文件名。5.注意文件如何按日期安排,最新的文件是最后一个。-t告诉 ls按时间排序,-r告诉 ls反转排序。练习4:Bash:处理文件,pwd,ls,cp,mv,rm,touch246.将.bash_history复制到.bash_history1。这似乎对你来说很神秘,但解释真的很简单。Bash有一个称为花括号扩展的功能,它有一组规则,定义了如何处理像 1,2,3之类的结构。在我们的例子中,.bash_h

39、istory,1扩展为两个参数,即.bash_history和.bash_history1。Bash仅仅接受花括号前的一个参数,在我们的例子中是.bash_history,并向参数添加花括号里的所有东西,以逗号分隔,并以此作为参数。第一个添加只是变成.bash_history,因为花括号中的第一个参数是空的,没有第一个参数。接下来,Bash添加了 1,因为这是第二个参数,就是这样。扩展后传递给 cp的结果参数为-v.bash_history1.bash_history2。7.这可能对你来说很明显。将最近创建的.bash_history1复制到.bash_history2。8.向.bash_hi

40、story1移动到.bash_history2。请注意,它会覆盖目标文件而不询问,所以不再有.bash_history2,没有了!9.将.bashrc时间戳更新为当前日期和时间。这意味着.bashrc的所有时间属性,st_atime,st_mtime和st_ctime都设置为当前日期和时间。你可以通过输入 stat.bashrc来确定它。10.删除.bash_history2。这里没有警告,请小心。另外,总是用-v选项。11.再次以长格式打印所有文件。请注意.bashrc的时间戳更改。12.在你的主目录中以短格式打印文件。请注意,你不仅可以列出/home/user1目录,还可以列出/home目

41、录本身。不要和任何命令一起使用这个结构,特别是 rm,永远不要!或许,你会意外地通过删除错误的文件或更改权限,来使系统崩溃。附加题玩转bash花括号扩展。从 echotest1,2,foo,bar开始。尝试使用花括号键入几个单独的参数。使用Google搜索bash花括号扩展,从搜索结果中打开“Bash参考手册”,并阅读相应的部分。尝试弄清楚 ls.*如何和为什么工作。对自己说10次:“我会一直使用verbose选项。verbose选项通常用作-v参数”。对自己说10次:“我会永远用 ls检查任何危险的命令”。练习4:Bash:处理文件,pwd,ls,cp,mv,rm,touch25练习5:Ba

42、sh:环境变量,env,set,export原文:Exercise5.Bash:environmentvariables,env,set,export译者:飞龙协议:CCBY-NC-SA4.0自豪地采用谷歌翻译请考虑以下内容:你希望程序打印出你的用户名。这个程序怎么知道的?在Linux中有一些环境变量。这意味着你的shell中有许多变量,其中许多变量自动设置,每次运行程序时,其中一些变量将传递给该程序。详细说明:一些变量只为你当前的shell设置。它们被称为本地shell变量。你可以通过键入 set,一个bash内置命令来列出它们,这意味着没有启动其它程序,之后你执行了它。此命令由bash本身

43、处理。其他变量被传递到你从当前shell启动的每个程序。它们被称为环境变量,可以通过 env程序列出,这意味着,通过键入 env,你将看到,你启动的每个程序获得了什么变量。你可能想要深入挖掘。要做到这一点,掌握subshell的概念,这是一个子进程,当你运行程序时创建,并且成为你的程序。现在,你将学习如何创建变量以及如何使用变量。这样做1:foo=HelloWorld!2:echo$foo3:set|grepfoo4:env|grepfoo5:exportfoo6:env|grepfoo7:foo=ls-al8:$foo你会看到什么练习5:Bash:环境变量,env,set,export26u

44、set1vm1:$foo=HelloWorld!user1vm1:$echo$fooHelloWorld!user1vm1:$set|grepfoofoo=HelloWorld!user1vm1:$env|grepfoouser1vm1:$exportfoouser1vm1:$env|grepfoofoo=HelloWorld!user1vm1:$foo=ls-aluser1vm1:$foototal36drwxr-xr-x2user1user14096Jun1412:23.drwxr-xr-x3rootroot4096Jun621:49.-rw-1user1user14042Jun1518:

45、52.bash_history-rw-r-r-1user1user1220Jun621:48.bash_logout-rw-r-r-1user1user13184Jun1412:24.bashrc-rw-1user1user150Jun1518:41.lesshst-rw-r-r-1user1user1697Jun712:25.profile-rw-r-r-1user1user1741Jun712:19.profile.bak-rw-r-r-1user1user1741Jun713:12.profile.bak1解释1.创建变量 foo,并将 HelloWorld!这一行放在其中。2.打印出变

46、量 foo。3.打印所有环境变量的列表,它传递给 grep,打印出只包含变量 foo的行。注意变量 foo存在。4.打印所有环境变量列表,它们传递给你执行的任何程序。注意变量 foo不存在。5.使变量 foo可用于从当前shell执行的所有程序。6.现在你可以看到,你的变量确实可用于你执行的所有程序。7.将 ls/放入变量 foo。8.执行包含在变量 foo中的命令。附加题输入并执行 env和 set。看看有多少个不同的变量?不用担心,通常你可以通过谷歌搜索,快速了解一个变量的作用。尝试这样做。尝试输入:set|egrep:alpha:.*$现在,试试 set。看见我在这里做了什么嘛?快速的解

47、释是:练习5:Bash:环境变量,env,set,export27egrep:alpha:.*$仅仅打印出以字母开头的行,它是每个字母,并忽略其他行。现在不要纠结这个,也不要纠结|符号。以后我会解释它。在这里阅读 env和 set之间的区别:http:/ setFOO=helloworldbash-cecho$FOO。这里是解释:http:/ manbash/PS1(是的,只是斜杠),按下。你现在可以按下 n查看下一个结果。浏览PROMPTING,并键入 q来退出man。现在,访问http:/ bashPS1。了解这两个文档来源的区别。练习5:Bash:环境变量,env,set,export2

48、8练习6:Bash:语言设置,LANG,locale,dpkg-reconfigurelocales原文:Exercise6.Bash:languagesettings,LANG,locale,dpkg-reconfigurelocales译者:飞龙协议:CCBY-NC-SA4.0自豪地采用谷歌翻译在Linux中,语言选择像导出变量一样简单。这是正确的,通过查看这个变量,程序决定如何和你交流。当然,为了使其工作,程序必须支持区域设置,并将其翻译成可用和安装的语言。让我们通过安装法语区域设置,看看它的工作原理。现在,你将学习如何安装和选择一个区域设置。这样做1:echo$LANG2:locale

49、3:manman#pressqtoexitman4:sudodpkg-reconfigurelocales现在,选择 fr_FR.UTF-8locale,通过使用方向键来浏览列表,并使用看空格来选择区域设置。选择 en_US.UTF-8作为默认的系统区域。5:exportLANG=fr_FR.UTF-86:echo$LANG7:locale#pressqtoexitman8:manman9:exportLANG=en_US.UTF-8你会看到什么user1vm1:$echo$LANGen_US.UTF-8user1vm1:$localeLANG=en_US.UTF-8LANGUAGE=en_U

50、S:enLC_CTYPE=en_US.UTF-8练习6:Bash:语言设置,LANG,locale,dpkg-reconfigurelocales29LC_NUMERIC=en_US.UTF-8LC_TIME=en_US.UTF-8LC_COLLATE=en_US.UTF-8LC_MONETARY=en_US.UTF-8LC_MESSAGES=en_US.UTF-8LC_PAPER=en_US.UTF-8LC_NAME=en_US.UTF-8LC_ADDRESS=en_US.UTF-8LC_TELEPHONE=en_US.UTF-8LC_MEASUREMENT=en_US.UTF-8LC_ID

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2