• linux中的$即“命令提示符”就是你可以一在后面输入命令的,命令提示符前面可能提示当前用户的一些信息,在linux下会提示用户当前目录以及当前用户。
    linux中的$即“命令提示符”就是你可以一在后面输入命令的,命令提示符前面可能提示当前用户的一些信息,在linux下会提示用户当前目录以及当前用户。
    
    展开全文
  • 以下是部分内容 注意:#!行中的解释器的路径必须是全路径,exec函数并不对其特殊处理,比如用PATH变量来搜索它的真实路径,所以路径是由程序员来保证正确的。 二、我的脚本第一句必须得是#!/bin/bash吗?...

    以下是部分内容
    注意:#!行中的解释器的路径必须是全路径,exec函数并不对其特殊处理,比如用PATH变量来搜索它的真实路径,所以路径是由程序员来保证正确的。

    二、我的脚本第一句必须得是#!/bin/bash吗?
    当然不必了,通过上面的解释,其实第一句的#!是对脚本的解释器程序路径,脚本的内容是由解释器解释的,
    我们可以用各种各样的解释器来写对应的脚本,比如说/bin/csh脚本,/bin/perl脚本,/bin/awk脚本,/bin/sed脚本,甚至/bin/echo等等。
    那我们真的能写一个/bin/echo的脚本文件吗?我们来试试,下面是一个例子:
    代码:
    #!/bin/echo -e
    我把这只有一行的程序(实际上它也只能是一行,echo程序并不是被设计成像awk那样的编程语言,能写成源程序文件)命名为myecho,加上权限后执行它:
    代码:
    $ ./myecho “hi\a” ./myecho hi
    如果你的echo支持-e选项并且你工作的环境还算安静,你在得到上面的结果的时候也应该听到清脆的终端响铃。但这种程序是毫无作用的。
    http://bbs.dlmu.net/learn/html/waiyuxuexi/jisuanjixitong/2009/0602/18966.html具体的分析内容

    展开全文
  • Linux到底学什么

    2019-09-27 21:08:37
    ​我们常常听到很多人说要学学Linux或者被人告知说应该学学Linux,那么学Linux到底要学什么? 为什么要学Linux 在回答学什么之前,我们先看看为什么要学。首先我们需要认识到的是,很多服务器使用的是Linux系统,...

    来源:公众号【编程珠玑】

    作者:守望先生

    网站:https://www.yanbinghu.com/2019/09/25/14472.html

    前言

    ​我们常常听到很多人说要学学Linux或者被人告知说应该学学Linux,那么学Linux到底要学什么?

    为什么要学Linux

    在回答学什么之前,我们先看看为什么要学。首先我们需要认识到的是,很多服务器使用的是Linux系统,而作为服务器应用程序的开发者或者维护者,如果不了解Linux的基本使用,该如何进行开发或者维护呢?

    当然,也有可能你听说Linux更高大上,或者是说Linux对开发者更加友好(Windows用户把刀放下),这都是题外话了。

    在我看来,学习Linux主要有以下两点原因

    • 使用标准C/C++ 编写运行在Linux上的应用程序

    • 编写部署在Linux上的应用程序,如Python,Java web服务程序

    • 一探究竟。众所周知,Linux开源,windows并非如此。

    而对于Python,它有Python解释器,Java有Java虚拟机,他们实际上对Linux的需求是没有C/C++来的高。即便如此,Linux也是值得Python/Java开发者去学习的。如果你是做C/C++开发,那么Linux是必备的,还记得当前被VC6支配的恐惧吗?

    Linux学习方向

    那么一般说的学Linux是要学什么呢?方向不同,要学习的内容也不同,可以大致分为这么几个方向:

    • 运维,维护Linux服务器

    • 应用开发,开发Linux应用程序

    • 底层开发

    我本人是做Linux应用开发的,因此对于运维方向和底层方向不是很了解,这里仅简单说一下。

    运维Linux主要需要学会对服务器的基本部署,监控,配置,管理等等, 你可以认为,这些机器归你管了,7*24小时保障它能正常提供服务(删库跑路就别做了),所以7月24日请对运维的朋友好点。也欢迎运维的朋友留言纠正或者补充我的说法。

    底层开发需要了解uboot,文件系统,内核等底层相关内容,主要工作可能涉及文件系统裁剪,驱动开发,内核模块定制(如内存管理,进程调度)等等。底层开发总体来说要求比较高。

    应用开发自然是需要学习如何开发在Linux上运行的应用程序,如何定位Linux应用程序问题等等。

    来源:公众号【编程珠玑】 作者:守望先生

    Linux应用开发学什么

    Linux的学习很多会以命令为主,因而初学会觉得枯燥甚至疑惑,鼠标点点点就能完成的事,为什么要劈里啪啦敲这么多?这里给出两点理由,也欢迎你补充:

    • 出于资源的考虑,绝大部分Linux服务器没有图形界面

    • 命令行便于自动化,将一系列操作写入脚本,可代替手动操作

    而它的学习我把它分为这么几个阶段:

    • 基本使用

    • 开发调试

    • 系统认识

    这三个阶段对知识积累的要求不一样,但总体来说并没有严格的先后之分。

    类于windows,当年你学习windows的时候学了什么?

    • 开关机?

    • 安装卸载软件?如安装视频播放器,音乐播放器(为啥要安这玩意?)。

    • 如何打开安装的软件?如打开浏览器上网,打开编辑器写文档

    • 如何存放自己的资料?移动,创建,删除等等

    • 如何使用office 办公软件

    • ……

    是不是想想好像也没有特意地去学习?

    那么对于学习Linux来说也是类似的,就是学会这些最普通的使用,

    • 如何开关机

    • 如何上网

    • 如何打开命令行

    • 如何使用命令行安装卸载软件

    • 如何编辑文本

    • 如何创建,移动,删除文件

    • 如何查看文件内容,解压缩文件

    • ……

    这个阶段最难的就是从图形界面到命令行的转换

    那么第二阶段呢,就需要学会:

    • 如何编写Linux应用程序

    • 如何编译或者构建你的程序

    • 如何运行你的程序

    • 如何定位程序bug

    而第三阶段,则是一个需要漫长的学习过程,但都是为开发服务,包括:

    • 理解并践行一切皆文件

    • ELF文件,Linux主要可执行文件格式

    • Linux各大机制的基本原理,如进程调度,内存管理,虚拟内存,文件系统等,既然要写Linux应用程序,怎么能不了解它所在平台的主要机制呢?

    越是疑难问题,越需要这些最基本的知识。

    怎么学?

    来到了大家最关心的问题了,同样的,每个人的情况不太一样,这里只给出我的个人建议。

    关于第一阶段,你可以先定个小目标,例如一段时间内学会在Linux下进行你的日常活动(玩游戏就算了),例如编写文档,看视频等等。同时建议:

    • 选择主流的发行版,如ubuntu,centos等,遇到问题时比较容易解决

    • 在window下安装虚拟机,这样Linux环境就随你折腾了

    在这期间,你可能需要了解

    这里的学习你可以通过网上搜索资料或者购买相关书籍进行操练。如果你不想安装虚拟机或者docker,你可以通过一些在线的Linux来体验。

    第二阶段也是主要的阶段,这一阶段要学习的东西非常多,多是命令的学习,这里同样可以参考《鸟哥的Linux私房菜》。不过初期阶段建议抱着一个目的去学习,就是如何在Linux写一个完整的程序,为了达到这个目的你需要学习

    这个过程涉及到的命令非常多,但是不建议每一个都去细学,首先知道有这么一个命令即可,然后需要的时候能够快速找到用法,如通过man命令查看手册。总之,记住你的目标就是流畅地进行开发调试,而在达成这个目标地过程中,你自己自然会慢慢接触很多东西。

    但是有必要说明的是,开发Linux应用程序并不一定要在Linux下编写代码,你可以选择利用samba等工具在windows和linux之间共享文件,然后再在windows下熟悉的工具中或者你认为比较强大合适的工具中编写代码,在Linux下进行编译调试即可。当然你也可以选择Linux下的IDE,或者将vim调教一下也是可以的。

    第三阶段要求是比较高的,这个时候你应该学习过操作系统的相关课程(如,《现代操作系统》,《操作系统原理》等),然后你可以通过诸如《Linux内核设计与实现》,《深入Linux内核架构》,《深入理解Linux内核》等书籍进行相关概念学习,也可以通过阅读源码进行深入学习,最终,你需要了解堆和栈,内存管理,进程调度,虚拟内存,文件系统等相关知识。
    当然相关命令学习也必不可少,例如readelf,nm,ipcs,iostat,objdump,free,chrt,pmap,uptime,top,pidstat等。

    以上就是三个阶段Linux相关的学习内容和建议,实际上其他相关内容的同步学习也非常重要,包括相关数据结构与算法,系统编程,计算机网络等内容的学习,否则看到很多命令的结果仍然会一脸懵逼。

    最后,建议实践再实践

    总结

    限于本人知识水平有限,以上属个人建议和看法,仅供参考,欢迎留言说说你为什么要学Linux,有什么学习方法?

    推荐阅读:

    linux常用命令--开发调试篇

    Linux常用命令--文本查看篇

    Linux常用命令--系统状态篇

    Linux常用命令-解压缩篇

    关注公众号【编程珠玑】,获取更多Linux/C/C++/Python/Go/算法/工具等原创技术文章。后台免费获取经典电子书和视频资源

    展开全文
  • linux centos 中的挂载是什么意思Linux系统里是没有盘符的,所有的命令及我们Windows中的盘符都是用目录的形式进行管理,把每一个分区和某一个目录对应。那么,我们对这个目录的操作就是对这个分区的操作,这样就实现...

    linux centos 中的挂载是什么意思?

    Linux系统里是没有盘符的,所有的命令及我们Windows中的盘符都是用目录的形式进行管理,把每一个分区和某一个目录对应。那么,我们对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一,这个比如D盘分区和linux系统中根目录/test一一绑定的过程就叫做Linux系统中的挂载。


    那么,如何在linux centos系统中挂载硬盘呢?
    linux centos 挂载的详细操作步骤:

    首先远程连接linux服务器,一般可以使用专用的linux连接工具,个人喜好可以按自己选择远程工具,本人推荐常用下载putty工具。


    2. 查看linux 系统服务器上的 磁盘 情况 fdisk -l


    查看结果: 该服务器上有  三块磁盘  一个40G系统盘 另外另个磁盘  即为   个人磁盘    也就是我们需要挂载的磁盘


    3.  linux centos 磁盘分区命令    倘若我们挂载  /dev/xvdc1    10G 磁盘,那么我们可以先  格式化分区   输入  fdisk /dev/xvdc1  


    依次输入:   n    p    1   二次回车   w   即可。

    1. Command (m for help):n  
    2. Command action  
    3.      e    extended                  //输入e为创建扩展分区  
    4.      p    primary partition (1-4)      //输入p为创建逻辑分区  
    5. p  
    6. Partion number(1-4):1      //在这里输入l,就进入划分逻辑分区阶段了;  
    7. First cylinder (51-125, default 51):   //注:这个就是分区的Start 值;这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;  
    8. Using default value 51  
    9. Last cylinder or +size or +sizeM or +sizeK (51-125, default 125): +200M 注:这个是定义分区大小的,+200M 就是大小为200M ;当然您也可以根据p提示的单位cylinder的大小来算,然后来指定 End的数值。回头看看是怎么算的;还是用+200M这个办法来添加,这样能直观一点。如果您想添加一个10G左右大小的分区,请输入 +10000M ;  
    10.   
    11. Command (m for help): w                     //最后输入w回车保存。 

    4.   linux centos 格式化磁盘命令   #mkfs.ext4 /dev/xvdc1

    5.   linux centos 创建目录命令   #mkdir /mydisk         用于  映射  你需要挂载的 磁盘,  挂载成功后,每次你只需要  访问  该目录   即是可通过#cd /mydisk    访问  对应的磁盘分区    。

    6.    linux centos 挂载磁盘命令   #mount /dev/xvdc1 /mydisk   意思是将服务器上  /dev/xvdc1绑定到   你所创建的目录  mydisk文件目录上。

    7.     linux centos 配置挂载开机启动 ,关键步骤

    echo "/dev/sdb1              /data                  ext4    defaults        0 0" >> /etc/fstab


    该命令及其重要,因为挂载磁盘操作挂载成功后,重启服务器后会丢失挂载,以至于挂载失效,即要写入开启挂载启动项。

    该命令中,ext4 是  对应  你的格式化磁盘的  类型格式,如  我这边的磁盘  格式化时  用了   ext4  格式进行格式。

    8.  重启linux服务器命令  shutdown -r now



    展开全文
  • /etcetc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是...

    /etc

    etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思. 至于为什么在/etc下面存放配置文件, 按照原始的UNIX的说法(linux文件结构参考UNIX的教学实现MINIX) 这下面放的都是一堆零零碎碎的东西, 就叫etc, 这其实是个历史遗留.

    这个目录一般用来存放程序所需的整个文件系统的配置文件.

    /etc目录
      包含很多文件.许多网络配置文件也在/etc 中.

    /etc/rc or/etc/rc.d or/etc/rc*.d
      启动、或改变运行级时运行的scripts或scripts的目录.

    /etc/passwd
      用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.

    /etc/fdprm
      软盘参数表.说明不同的软盘格式.用setfdprm 设置.

    /etc/fstab
      启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表.Linux下,也包括用swapon -a启用的swap区的信息.

    /etc/group
      类似/etc/passwd ,但说明的不是用户而是组.

    /etc/inittab
      init 的配置文件.

    /etc/issue
      getty在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.

    /etc/magic
      file 的配置文件.包含不同文件格式的说明,file 基于它猜测文件类型.

    /etc/motd
      Message Of TheDay,成功登录后自动输出.内容由系统管理员确定.经常用于通告信息,如计划关机时间的警告.

    /etc/mtab
      当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df命令.

    /etc/shadow
      在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对root可读.这使破译口令更困难.

    /etc/login.defs
      login 命令的配置文件.

    /etc/printcap
      类似/etc/termcap ,但针对打印机.语法不同.

    /etc/profile , /etc/csh.login ,/etc/csh.cshrc
      登录或启动时Bourne或Cshells执行的文件.这允许系统管理员为所有用户建立全局缺省环境.

    /etc/securetty
      确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.

    /etc/shells
      列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.
    /etc/termcap
      终端性能数据库.说明不同的终端用什么"转义序列"控制.写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列.这样,多数的程序可以在多数终端上运行

    展开全文
  • linux脚本中#!的作用

    2019-06-03 17:44:52
    用来指定脚本用什么解释器来执行 拿python脚本来举例 同一个脚本test.py print "hello python" 如果在第一行加了#!/usr/bin/python,那么在执行脚本时可以直接./test.py 如果没加#!/usr/bin/python,直接执行....
  • linux 中rc是什么意思

    2015-05-08 14:26:41
    Linux中,最为常用的缩略语也许是“rc” 它是“runcomm”的缩写――即名词“run command”(运行命令)的简写。rc”是任何脚本类文件的后缀,这些脚本通常在程序的启动阶段被调用,通常是Linux系统启动时。如/etc/...
  • $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数 ...
  • ~代表你的/home/用户明目录 假设你的用户名是x,那么~/就是/... .是代表此目录本身,但是一般可以不写 所以cd ~/.... 但是....~/.local是你的主目录下一个.local的文件夹的路径, ...并且从....如果不用ls -a的话,一般ls是无法
  • 原文地址:请问下./在Linux下是什么意思https://zhidao.baidu.com/question/96150379.html
  • cp 复制 mv 移动 rm 删除  cp的例子: (1) 将/etc/ 目录下的所有内容复制到/tmp。 如果是目录,不能直接复制,要加上 -r参数 [root@linux tmp]# cp -r /etc/ /tmp (2) 将/var/log/wtmp...[root@linux
  • 转自:https://www.cnblogs.com/rocky-fang/p/7077197.html在shell脚本的开头往往有一句话来定义.../bin/bash以上两种方式有什么区别?对于脚本的实际运行会产生什么不同的影响吗?脚本test.sh内容:#!/bin/shsource...
  • 小括号里面是linux命令比如cat $(pwd)>aaa等价于cat `pwd`>aaa其实是要执行里面的pwd然后用输出代替$()内容的。而大括号里面则是数组变量举个例子$A = (hello linux shell)$echo ${A[0]}则会输出hello
  • 请问linux自动挂载是什么意思? 小弟初学linux,希望各位大牛回答可以详细一点~
  • 上周在工作中接触到chmod +x ...这一步是什么意思呢?经过上网查询(说的比较复杂,引申太多)和咨询我们研发(还是研发说的通俗易懂) chmod +x的意思就是给执行权限 LINUX下不同的文件类型有不同的颜色,这里 ...
  • linux中$?,$#等代表什么

    2019-01-17 16:39:39
    $0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个。 $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $! 执行上一个背景指令的PID(后台运行的...
  • shell或者linux命令的文件. 象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等. 在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整 的程序文件. 执行shell程序文件...
  • 接触linux一段时间了,有个权限问题让我一直郁闷...网上也没找到(估计是关键字不对),就是这个0777,最前面的0是什么意思。最近看到一本书(Linux与unix shell编程指南),终于找到答案了。 ...
  • Linux内核学习笔记(1)—— 什么Linux内核? 1. 什么是操作系统? 操作系统是负责完成整个系统中最基本功能和系统管理,包括内核、设备驱动程序、启动引导程序、命令行shell或其它种类的用户界面、基本的文件...
1 2 3 4 5 ... 20
收藏数 337,810
精华内容 135,124
关键字:

'$!'什么意思 linux