icewing

Linux全部知识总结【第二部分】
接第一部分。
扫描右侧二维码阅读全文
18
2018/05

Linux全部知识总结【第二部分】

接第一部分。

第 2 章 Linux 常用命令

cp

这是我们接触到的第一个命令,前面已经做过介绍,复制文件的作用
格式 cp [选项] 源文件或者目录 目标文件或目录,涉及到的参数有:

  • -r 递归复制,用于目录
  • -i 交互式复制
  • -f 强制复制
  • -a 递归将源目录的所有子目录及其文件都复制到目标,文件链接和属性保持不变
[root@heqiuyu ~]# cp /etc ./qiuyuect/
cp: omitting directory `/etc'
[root@heqiuyu ~]# cp /etc ./qiuyuect/ -rf
[root@heqiuyu ~]# cd qiuyuect/
[root@heqiuyu qiuyuect]# ls 
abrt               cron.hourly              favicon.png    hosts.allow     libuser.conf    nanorc                        polkit-1        rc.local        shadow              updatedb.conf
acpi               cron.monthly 
rm

这是我们接触到的第16个命令,删除文件和目录,涉及的参数

  • -f 强制删除
  • -r 递归删除
  • -i 交互式删除文件

各位记住一个最流氓的命令 rm -rf / 会把linux彻底删除,* 通配符,代表所有文件

[root@heqiuyu qiuyuect]# ls 
abrt               cron.hourly              favicon.png    hosts.allow     libuser.conf    nanorc                        polkit-1        rc.local        shadow              updatedb.conf
acpi                     rc.d            sgml            udev
[root@heqiuyu qiuyuect]# rm -rf *
[root@heqiuyu qiuyuect]# ls
mv

这是我们接触到的第17个命令,重命名或者移动文件

[root@heqiuyu qiuyuect]# touch a 
[root@heqiuyu qiuyuect]# ls
a
[root@heqiuyu qiuyuect]# mv a b
[root@heqiuyu qiuyuect]# ls
b
wc

这是我们接触到的第18个命令,字符统计,涉及到的参数

  • -c 字符数量
  • -l 统计行数
  • -w 统计字数
统计系统有多少用户
[root@heqiuyu qiuyuect]# cat /etc/passwd | wc -l
36

统计有多少个单词
[root@heqiuyu qiuyuect]# man wc | wc -w
240

2.5 目录及其操作命令

目录结构

Linux 文件系统采用树形目录结构,即只有一个根目录 /

tree

这是我们接触到的第19个命令,树形显示目录结构

[root@heqiuyu ~]# tree
.
├── 10
│   ├── 10.txt
│   ├── 1.txt
│   ├── 2.txt
│   ├── 3.txt
│   ├── 4.txt
│   ├── 5.txt
│   ├── 6.txt
│   ├── 7.txt
│   ├── 8.txt
│   └── 9.txt
├── 11
├── 111.sh
├── 112.sh
├── 12
├── 1.sh
├── 2 -> 1
├── 2.sh
├── 456

绝对路径和相对路径的概念

这两个概念非常重要,绝对路径以根目录 / 开头,比如下面是网卡的配置文件/etc/sysconfig/network-scripts/ifcfg-eth0
相对路径,一般都是相对与当前的路径,查看当前路径的命令是pwd ,这是我们接触到的第20个命令
cd 代表切换目录,这是我们接触到的第21个命令

[root@heqiuyu ~]# cd  /etc/sysconfig/network-scripts/
[root@heqiuyu network-scripts]# pwd
/etc/sysconfig/network-scripts


[root@heqiuyu network-scripts]# cd -  //进入上一个目录
/root
[root@heqiuyu ~]# cd ..  //进入上一级目录,.代表当前目录,..代表上一级目录
[root@heqiuyu /]# 
[root@heqiuyu /]# cd ~  //进入当前用户家目录
[root@heqiuyu ~]# pwd
/root


mkdir

用来创建目录,重要参数 -p ,递归创建目录,这是我们接触到的第22个命令,23个命令是rmdir,删除目录

[root@heqiuyu test]# mkdir 1/2/3/4/5/6
mkdir: cannot create directory `1/2/3/4/5/6': No such file or directory
[root@heqiuyu test]# mkdir 1/2/3/4/5/6 -p
[root@heqiuyu test]# tree .
.
├── 1
│   └── 2
│       └── 3
│           └── 4
│               └── 5
│                   └── 6
└── i

6 directories, 1 file
[root@heqiuyu test]# 
ls

这是我们接触到的第6个命令,前面已经提到过,涉及到的参数

  • -l 长格式
  • -a 显示所有文件
  • -i 显示文件节点
  • -d 只显示目录
    文件类型:d 目录,b 块设备文件,c 字符设备文件,l 链接符号文件
[root@heqiuyu test]# ls -al
total 12
drwxr-xr-x.  3 root root 4096 4月  30 05:33 .
dr-xr-x---. 28 root root 4096 4月  30 05:13 ..
drwxr-xr-x.  3 root root 4096 4月  30 05:33 1
-rw-r--r--.(权限)  1(链接数量) root(用户) root (用户组)   0 4月  29 01:29(时间) i(文件名)
ln

链接文件命令,分为硬链接和软链接,这是我们接触到的第24个命令
硬链接,在别的目录或者本目录增加一个目标文件的目录项,这样一个文件就登记在多个目录中

[root@heqiuyu test]# ln i ii
[root@heqiuyu test]# ls -al
total 12
drwxr-xr-x.  3 root root 4096 4月  30 05:42 .
dr-xr-x---. 28 root root 4096 4月  30 05:13 ..
drwxr-xr-x.  3 root root 4096 4月  30 05:33 1
-rw-r--r--.  2(两个指针) root root    0 4月  29 01:29 i
-rw-r--r--.  2(两个指针)  root root    0 4月  29 01:29 ii
[root@heqiuyu test]# 
[root@heqiuyu test]# ls -ali
total 12
399530 drwxr-xr-x.  3 root root 4096 4月  30 05:42 .
393217 dr-xr-x---. 28 root root 4096 4月  30 05:13 ..
399444 drwxr-xr-x.  3 root root 4096 4月  30 05:33 1
399532 -rw-r--r--.  2 root root    0 4月  29 01:29 i  节点数上下一致399532 为什么
399532 -rw-r--r--.  2 root root    0 4月  29 01:29 ii 节点数上下一致399532 为什么

软链接,也叫符号链接,将一个路径名链接到一个文件

[root@heqiuyu test]# ls -ali
total 12
399530 drwxr-xr-x.  3 root root 4096 4月  30 05:44 .
393217 dr-xr-x---. 28 root root 4096 4月  30 05:13 ..
399444 drwxr-xr-x.  3 root root 4096 4月  30 05:33 1
399532 -rw-r--r--.  2 root root    0 4月  29 01:29 i
399532 -rw-r--r--.  2 root root    0 4月  29 01:29 ii
401104 lrwxrwxrwx.  1 root root    1 4月  30 05:44 li -> i

权限

权限在本次课程中占据非重要的地位,需要重点掌握,权限是操作系统用来限制资源访问的机制,权限一般分为读、写、执行。系统中每个文件都拥有特定的权限、所属用户及所属组,通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。每个进程都是以某个用户的身份运行,所以进程的权限与该用户的权限一样,用户的权限越大,该进程所拥有的权限也就越大。
用户类型主要有:U 代表 User,是文件或文件夹所属用户的权限;G 代表 Group,是文件或文件夹所属组的权限;O 代表 Other,是其他用户对文件或文件夹的权限,A代表所有用户

 mode 参数格式如下:


u、g、o     分别代表用户、组、其他
a           代表ugo
+、-        代表加入或删除对应权限
r、w、x     代表三种权限
-R          递归地修改
示例:


chmod u +rw test.md    给文件的所属用户添加rw权限
chmod g -x test.md     给文件的所属组移除x权限
chmod go +r test.md    给文件的所属组和其他用户添加r权限
chmod a -x test.md     给文件的所属UGO三个模型均移除x权限
命令 chmod 也支持以三位八进制数值的方式修改权限,rwx 权限值分别由数字表示如下:

r = 4 (2 ^ 2)
w = 2 (2 ^ 1)
x = 1 (2 ^ 0)
使用数字表示权限时,每组权限分别为对应数字之和:


rw  = 4 + 2 = 6
rwx = 4 + 2 + 1 = 7
r-x = 4 + 1 = 5
所以,使用数字表示 UGO 权限时,可以用如下方式表示:


chmod 0660 test.md  设置 UGO 权限为 rw-rw----
chmod 0775 test.md  设置 UGO 权限为 rwxrwxr-x

需要文件权限的命令是chmod,这是我们接触到的第25个命令,需要重点掌握的命令:命令说明各位自己填写,此外操作符还有等于符号 =

[root@heqiuyu test]# chmod 777 i

命令说明:
[root@heqiuyu test]# chmod a-x i
命令说明:
[root@heqiuyu test]# chmod g-w i
命令说明:
[root@heqiuyu test]# chmod o+x i
命令说明:
[root@heqiuyu test]# chmod u=x i
命令说明:
umask

设置新建文件权限的掩码,这是我们接触到的第26个命令

chgrp

修改文件或目录的用户组,这是我们接触到的第27个命令,重点掌握参数 -R

[root@heqiuyu test]# chgrp heqiuyu i
[root@heqiuyu test]# ls -al
total 12
drwxr-xr-x.  3 root root    4096 4月  30 05:44 .
dr-xr-x---. 28 root root    4096 4月  30 05:13 ..
drwxr-xr-x.  3 root root    4096 4月  30 05:33 1
---xr--rwx.  2 root heqiuyu    0 4月  29 01:29 i
---xr--rwx.  2 root heqiuyu    0 4月  29 01:29 ii
lrwxrwxrwx.  1 root root       1 4月  30 05:44 li -> i
chown

修改文件或目录的用户,这是我们接触到的第28个命令, 重点掌握参数 -R

2.6 联机帮助

man

帮助,这是我们接触到的第29个命令,不得不使用的命令,虽然man 出来的都是英文,还有一个help命令,是第30个命令

[root@heqiuyu test]# man man
man(1)                                                                  man(1)

NAME
       man - format and display the on-line manual pages

SYNOPSIS
       man [-acdDfFhkKtvVwW] [--path] [-m system] [-p string] [-C config_file] [-M pathlist] [-P pager] [-B browser] [-H htmlpager] [-S section_list] [section] name ...

DESCRIPTION
       man  formats and displays the on-line manual pages.  If you specify section, man only looks in that section of the manual.  name is normally the name of the manual
       page, which is typically the name of a command, function, or file.  However, if name contains a slash (/) then man interprets it as a file specification,  so  that
       you can do man ./foo.5 or even man /cd/foo/bar.1.gz.

       See below for a description of where man looks for the manual page files.

2.7 有关进程管理的命令

Linux 是一个多用户,多任务的操作系统(重点),这意味着,多个用户可以同时使用一个操作系统,每个用户又可以同时运行多个命令。命令的执行是通过进程实现的,进程是linux非常重要的概念。

ps

显示进程命令,这是我们接触到的第31个命令,重要参数如下

  • -e 显示所有进程的信息
  • -f 显示进程的所有信息,和-e 配合使用
[root@heqiuyu test]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 Apr16 ?        00:00:02 /sbin/init
root          2      0  0 Apr16 ?        00:00:00 [kthreadd]
root          3      2  0 Apr16 ?        00:00:00 [migration/0]
root          4      2  0 Apr16 ?        00:00:17 [ksoftirqd/0]
root          5      2  0 Apr16 ?        00:00:00 [stopper/0]
root          6      2  0 Apr16 ?        00:00:05 [watchdog/0]
root          7      2  0 Apr16 ?        00:11:18 [events/0]

重点掌握:uid 用户id,pid 进程属主的用户id,ppid父进程的id号
kill

终止一个进程的命令,这是我们接触到的第32个命令

sleep

使命令暂时执行一段时间,这是我们接触到的第33个命令,单位是秒

[root@heqiuyu test]# ls;sleep 2;uname 
1  i  ii  li
Linux
最后修改:2018 年 05 月 18 日 07 : 24 PM
生活需要一些仪式感,比如手冲一杯咖啡:)

发表评论