Linux中一些操作命令笔记

 

  我是一个Linux系统的初学者,在这就记录一下自己学到的一些知识。

一,Linux使用nohup命令后台运行程序

  在Linux服务器上搭建web服务器,用ssh客户端登录后使用 ./startservice.sh 脚本启动服务,但是当ssh断开连接后起的服务器也会停掉。这时就可以使用下面命令运行服务,这样在ssh断开后服务也不会停。

1

nohup ./startservice.sh >>nohup.out 2 > &1 &

  上面代码的用途:不挂断地运行命令。

  语法:nohup Command  [Arg ... ] [&]

  描述:nohup命令运行由Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup命令运行后台中的程序。要运行后台中的 nohup命令,添加 & (表示“and” 的符号)到命令的尾部。

  所以上面命令中带 & 的命令行,即使 terminal(终端)关闭,或者电脑死机程序依然运行(前提是将程序提交给服务器)。

  上面 2>&1 的意思就是把标准错误(2) 重定向到标准输出(1),而标准输出又导入文件 output里面,所以结果是标准错误和标准输出都导入文件output里面了。至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而 stdout 有。这就会导致 >output 2>output 文件被output 被打开两次,而 stdout 和 stderr 将会竞争覆盖,这肯定不是我们相要的。

  操作系统中有三个常用的流:

  • 0:标准输入流 stdin
  • 1:标准输入流 stdout
  • 2:标准错误流 stderr

  一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

二,ctrl+c,ctrl+d,ctrl+z在linux程序中意义和区别

ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.

 

  ctrl+c是强制中断程序的执行,,进程已经终止。

  ctrl+z的是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.

  例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘推出,你可以简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件。

 

ctrl-d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。

注:在shell中,ctrl-d表示推出当前shell

 

三,Linux文件夹中的文件颜色

  今天看到Linux文件夹中的文件颜色,很是好奇,所以百度一下,满足了自己的好奇心。

绿色文件: 可执行文件,可执行的程序 

 

红色文件:压缩文件或者包文件

 

蓝色文件:目录

 

白色文件:一般性文件,如文本文件,配置文件,源码文件等 

 

浅蓝色文件:链接文件,主要是使用ln命令建立的文件

 

红色闪烁:表示链接的文件有问题

 

黄色:表示设备文件

 

灰色:表示其他文件

 

  在终端输入ls-l就会出现花花绿绿的东西,如下:

 

  共显示了七列信息,从左至右依次为:权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称。

 

四,Linux中ls和ll的区别

  ll 列出来的结果详细,有时间,是否可读写等信息 ,象windows里的 详细信息
  ls 只列出文件名或目录名 就象windows里的  列表
 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

ll不是命令,是ls -l的别名

 

ls 命令可以说是linux下最常用的命令之一。

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。

-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。

-c 输出文件的 i 节点的修改时间,并以此排序。

-d 将目录象文件一样显示,而不是显示其下的文件。

-e 输出时间的全部信息,而不是输出简略信息。

-f -U 对输出的文件不排序。

-g 无用。

-i 输出文件的 i 节点的索引信息。

-k 以 k 字节的形式表示文件的大小。

-l 列出文件的详细信息。

-m 横向输出文件名,并以“,”作分格符。

-n 用数字的 UID,GID 代替名称。

-o 显示文件的除组信息外的详细信息。

-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通

  

五,Linux里sh命令是做什么的?

1

2

3

4

5

6

7

8

    sh或是执行脚本,或是切换到sh这个bash里,默认的shell是bash,你

可以试试tcsh啊,csh啊,ksh,zsh什么的,看看别的shell是什么样子的。

当然,linux中sh是链接到bash上的,所以sh与bash在功能上是没有区别的。

 

    还有就是在执行脚本的时候是用sh + 脚本名的方式来执行,其实,大部

分的时候,简单脚本只要权限设置正确,可以直接执行,不需要sh命令的

 

---------------------

 

六,文件类型的详细说明

6.1  文件类型

普通文件(regular file)

  就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

  1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

  2、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

  3、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

目录文件(directory):

  就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。

    1,连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

  2,设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:

  3,块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。

  4,字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

  5,套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。

  6,管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。

6.2 文件结构

  /:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

  /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。

  /boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

  /cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

  /dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

  /etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

  /home:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

  /lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。

  /lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

  /mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。

  /media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

  /opt:这里主要存放那些可选的程序。

  /proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

  /root:Linux超级权限用户root的家目录。

  /sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。

  /selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。

  /srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中

  /tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

  /usr这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具

  /usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。

  /usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

  /var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,

  /var下有/var/log 这是用来存放系统日志的目录。

  /var/ www目录是定义Apache服务器站点存放目录;

  /var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。

七, Linux下的chmod +x是什么意思,为什么要使用这个?

  一个start.sh文件,本来是灰色的(普通的文件),如果执行chmod +x 给了权限,文件颜色就变成绿色。

  如果使用chmod -x 则就会变成灰色(普通的文本颜色),普通的文本颜色是不能执行的,执行会报错。

7.1  chmod +x 和 chmod u+x的区别

  设置谁拥有执行这个文件权限。chmod +x 和chmod a+x 是一样的,一般没有明确要求,就可以使用chmod +x。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值