linux 下命令

  Linux 是一套免费使用和自 由传播的类 Unix 操作系统, 是一个基于 POSIX 和 UNIX 的多用户、 多任务、 支持多线程和多 CPU 的操作系统。 它能运行主要的 UNIX 工具软件、 应用程序和网络协议。 它支持 32 位和 64 位硬件。 Linux 继承了 Unix 以网络为核心的设计思想, 是一个性能稳定的多用户网络操作系统。
  Linux 操作系统诞生于 1991 年 10 月 5 日 (这是第一次正式向外公布时间) 。 Linux 存在着许多不同的 Linux 版本, 但它们都使用了 Linux 内核。 Linux 可安装在各种计算机硬件设备中, 比如手机、 平板电脑、 路由器、 视频游戏控制台、 台式计算机、 大型机和超级计算机。

1.Linux下目录结构

  ① /bin 该目 录中存放 Linux 的常用命令
  ② /boot 该目 录下存放系统启动时要用的程序, 当用 lilo 引 导 Linux 时会用到该目 录下的一些信息。
  ③ /dev 该目 录下存放 Linux 系统中使用的所有外部设备。

       ④ /etc 该目 录存放系统管理时要用到的各种配置文件和子目 录, 例如网络配置文件、系统文件、 X 系统配置文件、 设备配置信息、 设置用户信息等。
  ⑤ /sbin 该目 录用来存放系统管理员的系统管理程序。
  ⑥ /home 如果建立一个名为”xx”的用户, 那么在/home 目 录下就有一个对应的”/home/xx”路径, 用来存放该用户的主目 录。
  ⑦ /lib 该目 录用来存放系统动态链接共享库, 几乎所有的应用程序都会用到该目 录下的共享库。
  ⑧ /mnt 该该目 录存放的是共享目 录。

2.常用命令介绍

2.1 su 命令: 切换用户

   语法: su [用户名 ] ([]表示可选)

  •  Linux 下有两种账号:
  • root–超级用户帐号(系统管理员):使用这个帐号可以在系统中做任何事情。
  • 普通用户:这个帐号供普通用户使用,可以进行有限的操作。

  su命令的常见用法是变成超级用户, 如果普通用户发出不带用户名的 su 命令 ,则系统提示输入根口令, 输入之后则可切换为根用户。

注意:ubuntu系统下第一次切换到到root用户需要做如下设置:

2.2 ls命令:遍历目录

   功能: ls是英文单词list的简写,其功能为列出目录的内容。这是用户最常用的一个命令之一,因为用户需要不时地查看某个目录的内容。该命令类似于DOS下的 dir 命令。
   语法: ls [选项] [目录或是文件]

   说明:对于每个目录,该命令将列出其中的所有子目录与文件。对于每个文件,ls 将输出其文件名以及所要求的其他信息。默认情况下,输出条目按字母顺序排序。当未给出目录名或是文件名时,就显示当前目录的信息。

  • -a 显示指定目录下所有子目录与文件,包括隐藏文件。
  • -A 显示指定目录下所有子目录与文件,包括隐藏文件。但不列出“.”和 “…”。
  • -i 在输出的第一列显示文件的 i 节点号。
  • -l 以长格式来显示文件的详细信息。这个选项最常用。
  • -p 在目录后面加一个“/”。
  • -R 递归式地显示指定目录的各个子目录中的文件。
  • -t 按照时间进行排序。
  • -S 按照文件大小排序。
  • -s 列出文件时显示文件的大小。如果加上-h 参数可合理的显示大小单位。例如: ls -sh。
  • -F 在文件末尾加上一个字符,代表该文件的类型。例如: *表示可执行, /表示目录, =表示套接字。

 用 ls - l 命令显示的信息中,开头是由 10 个字符构成的字符串,其中第一个字符表示文件类型:
– 普通文件、d 目录、l符号链接、 b块设备文件、 c字符设备文件、 p命名管道(FIFO)、 s socket文件 。

  •  后面的 9 个字符表示文件的访问权限,分为 3 组,每组 3 位
       第一组表示文件所有者的权限;
      第二组表示同组用户的权限;
      第三组表示其他用户的权限。
  • 每一组的三个字符分别表示对文件的读、写和执行权限。
  •  各权限如下所示:
  • r 读(4)
  • w 写(2)
  • x 执行(1)对于目录,表示进入权限。
  • –没有设置权限。

2.3 man命令:查看帮助

   功能: 用于查看命令、函数、头文件的使用帮助信息。
   用法: man [页码] <命令、函数名称、头文件名称>
   页码一般为1~7页。如果当前页看不到想要的信息,可以切换到其他页查看。

2.4 cd命令:切换目录

  功能: 切换目录
  语法: cd [目录路径]
  说明:该命令将当前工作目录切换至指定目录。若没有指定目录,则回到用户的主目录。为了能改变到指定目录,用户必须拥有对指定目录的执行和读权限。

  •  常用的目录表示符号:

     cd . . 到父目录,即上一级目录,相当于“向上”。
  cd - 到上一次目录,相当于后退。
  cd / 到根目录。
  cd ~ 或只写cd回到用户主目录下。

[wbyq@wbyq ~]$ cd  #进入用户目录
[wbyq@wbyq ~]$ cd / #进入根目录
[wbyq@wbyq home]$ cd wbyq/ #切换到指定目录
[wbyq@wbyq ~]$ cd ..  #回到上一级目录
[wbyq@wbyq home]$ cd -  #回到上一次位置

2.5 mkdir命令:创建目录

  功能: 创建一个目录
  语法: mkdir [] dirname

  说明:该命令创建由dirname命名的目录。要求创建目录的用户在当前目录中 (dirname 的父目录中)具有写权限,并且dirname不能是当前目录中已有的目录或 文件名称。

  •  参数:

  -m 对新建目录设置存取权限。也可以用chmod命令设置。

  - p 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录。

[wbyq@wbyq ~]$ mkdir 123 456 789 #创建123 456 789 文件夹
[wbyq@wbyq ~]$ mkdir work #创建单个文件夹
[wbyq@wbyq ~]$ mkdir 123/456/789/asd -pv  #递归创建,输出创建过程
mkdir: 已创建目录 '123'
mkdir: 已创建目录 '123/456'
mkdir: 已创建目录 '123/456/789'
mkdir: 已创建目录 '123/456/789/asd'

2.6 touch命令:创建普通文件

  功能: 创建一个文件
  语法: touch [文件名称]

[wbyq@wbyq ~]$ touch 1.c #创建文件

2.7 rm命令:删除文件/目录

  功能: 在 linux中创建文件很容易,系统中随时会有文件变得过时且毫无用处。用户可以用 rm 命令将其删除。该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

  语法: rm [] <文件或者目录>
  说明:如果没有使用-r选项,则rm不会删除目录;

  •  参数:

  -f 忽略不存在的文件,从不给出提示。

  -r 指示rm将参数中列出的全部目录和子目录均为递归地删除。
  -i 进行交互式删除。
  -v 输出已经删除的文件。

  使用rm命令要格外小心,应为一旦一个文件被删除,它是不能被恢复的,为了防止此种情况发生,可以使用rm命令中的-i选项来确认要删除的每个文件。如果用户输入y,文件将被删除。如果输入任何其他东西,文件将会被保留。

[wbyq@wbyq ~]$ rm 1.doc #删除文件
[wbyq@wbyq ~]$ mkdir 123/456/789/ads -pv #创建目录
[wbyq@wbyq ~]$ rm 123 -rfv #删除目录,并输出删除过程
removed directory '123/456/789/ads'
removed directory '123/456/789'
removed directory '123/456'
removed directory '123'

2.8 cat命令:查看文件内容

  功能: 查看文件内容
  语法: cat [选项] [文件]

  •  参数:
      -b 对非空输出行号
      -E 在每行结束处显示$
      -n对输出的所有行进行编号
      -s不输出多行空行

2.8 pwd命令:显示工作目录

  功能: 在 Linux 层次目录结构中,用户可以在被授权的任意目录下利用 mkdir 命令创建新目录,也可以利用 cd命令从一个目录转换到另一个目录。然而,没有提示符来告知用户目前处于哪一个目录中。要想知道当前所处的目录,可以使用 pwd 命令,该命令显示整个路径名。
  语法: pwd
  说明:此命令显示出当前工作目录的绝对路径
  举例: pwd

[wbyq@wbyq ~]$ pwd
/home/wbyq

  根目录以开头的“/”表示。如果 pwd 后面什么都没有,则显示当前所在位置。如果屏幕信息很多,用 clear 可以清除。

2.10 cp命令:拷贝文件/目录

  功能: 将给出的文件或目录拷贝到另一文件或目录中。

  语法: cp [选项] <源文件或目录> <目标文件或目录>
  说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

  •  参数:

  -a 该选项通常拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录

  -d 拷贝时保留链接。
  -f 删除已经存在的目标文件而不提示。
  -i 和 f 选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答 y 时目标文件将被覆盖,是交互式拷贝。
  -r 若给出的源文件是一目录文件,此时 cp 将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。一般使用-a 参数。

//拷贝work目录下的所有文件到当前目录
[xsw@ashui ~]$ cp -a  /mnt/hgfs/red_hat_linux/work/  ./  
[xsw@ashui ~]$ cp  123.c  ./work/   #拷贝123.c文件到当前目录下的work目录下

2.11 mv 命令:改名、移动、文件/目录

  功能: 为文件或目录改名或将文件由一个目录移入另一个目录中。
  语法: mv [选项] <源文件或目录> <目标文件或目录>

  说明:视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv 命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

  •  参数:

  -i 交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答y或 n,这样可以避免误覆盖文件。

  -f 禁止交互操作。在mv操作要覆盖某已有的目标文件时不给任何指示,指定此选项后,i 选项将不再起作用。
  如果所给目标文件(不是目录)已存在,此时该文件的内容将被新文件覆盖。为防止用户在不经意的情况下 用mv命令破坏另一个文件,建议用户在使用mv命令移动文件时,最好使用i选项。

[wbyq@wbyq ~]$ mv 1.c work #将1.c移动到work目录下
[wbyq@wbyq work]$ ls
1.c
[wbyq@wbyq work]$ mv 1.c test.c #将1.c改名为test.c
[wbyq@wbyq work]$ ls
test.c

2.12 chmod 命令:修改文件/目录权限

  功能: 改变文件或目录的访问权限
  语法: chmod [权限] <文件或者目录>

  通过 ls -l 命令可以查看目录或者文件的详细信息,其中第 2~10 个字符代表了文件的访问权限,当中的每3个为一组,左边三个字符表示所有者权限;中间3个字符表示与所有者同一组的用户的权限,右边3个字符是其他用户的权限。这三个一组共9个字符,代表的意义如下:

 代表的意义如下:

权限 说明
r 可读权限:对文件而言,具有读取文件内容的权限;对目录来说,具有浏览目录的权
w 可写权限:对文件而言,具有新增、修改文件内容的权限;对目录来说,具有删除、移动目录内文件的权限。
x 可执行权限:对文件而言,具有执行文件的权限;对目录了来说该用户具有进入目录的权限。

  •  其中的权限可以使用数字的组合方式进行表示:
权限 说明
r 对应数值 4
w 对应数值 2
x 对应数值 1

  数字设定的关键是取值,一开始许多初学者会被搞糊涂,其实很简单,我们将 rwx 看成二进制数,如果有则 有 1 表示,没有则有 0 表示。
  例如: rwx r-x r–则可以表示成为:111 101 100
  再将其每三位转换成为一个十进制数,就是754。
  设置文件权限示例:

[wbyq@wbyq work]$ sudo chmod 764 test.c #设置test.c文件权限

2.13 ln命令:建立符号链接

ln连接文件或目录,分为软链接和硬链接。

  软连接语法: ln -s <源文件> <目标文件> (删除源文件之后,链接变成无效的了),相当于快捷方式。
  硬链接语法: ln <源文件> <目标文件>(删除源文件之后,目标没有影响)

[wbyq@wbyq ~]$ ln -s app app2 #创建软件链接