Fork me on GitHub

Linux基本操作

什么是Linux

和Windows操作系统软件一样,Linux也是一个操作系统软件。但是和Windows不同的是,Linux是一套开放源代码程序的、并可以自由传播的类Unix操作系统软件(Unix系统是Linux系统的前身,具备很多优秀特性)。其在设计之初,就是基于Intel x86系列CPU架构的计算机的。它是一个基于POSIX的多用户、多任务并且支持多线程和多CPU的操作系统。

Linux是由世界各地成千上万的程序员设计和开发实现的。当初开发Linux系统的目的就是建立不受任何商业化软件版权制约的、全世界都能自由使用的类Unix操作系统兼容产品。在过去的20年里,Linux系统主要应用于服务器端、嵌入式开发和个人PC桌面三大领域,其中服务器端领域是重中之重。

大型、超大型互联网企业(百度、Sina、淘宝等)都在使用Linux系统作为其服务器端的程序运行平台,全球及国内排名前十的网站使用的主流系统几乎都是Linux系统。

Linux操作系统之所以如此流行,是因为它具有如下一下特点:

  • 开发源代码的程序,可自由修改。
  • Unix系统兼容,具备Unix几乎所有优秀特性。
  • 可自由传播,无任何商业化版权制约。
  • 适合Intel等x86 CPU系列架构的计算机。

目录介绍

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/ 根目录

/bin 存放必要的命令

/boot 存放内核以及启动所需的文件等

/dev 存放设备文件

/etc 存放系统的配置文件

/home 用户文件的主目录,用户数据存放在其主目录中

/lib 存放必要的运行库

/mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。

/proc 存放存储进程和系统信息

/root 超级用户的主目录

/sbin 存放系统管理程序

/tmp 存放临时文件的目录

/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。

/var 包含系统产生的经常变化的文件

基础指令

1
2
3
4
5
6
7
8
9
ls: 列出目录   
-a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)

cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
创建多个层次文件时,需要加 -p

示例

1
2
3
4
[root@localhost]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== 没办法直接创建此目录啊!
[root@localhost]# mkdir -p test1/test2/test3/test4

1
2
rmdir:删除一个空的目录   
cp: 复制文件或目录

一些常用参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-a:相当于 -pdr的意思,至于pdr请参考下列说明;(常用)

-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;

-f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;

-i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;

-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);

-r:递归持续复制,用於目录的复制行为;(常用)

-s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;

-u:若 destination 比 source 旧才升级 destination !
- rm: 移除文件或目录

选项与参数:

-f :就是 force的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

  • mv (移动文件与目录,或修改名称)
    -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

文件内容查看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
cat  由第一行开始显示文件内容   
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
空白键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字串 :代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
:f :立刻显示出档名以及目前显示的行数;
q :代表立刻离开more,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;

head 只看头几行
head [参数]...[文件]
tail 只看尾巴几行
-f 循环读取
-n<行数>显示行数

时间相关的指令

1
2
date 显示
date 用法:date[OPTION]...[+FORMAT]

Cal指令
命令格式 : cal[参数][月份][年份]
find指令:(非常重要) -name
语法:find pathname -option
功能:用于在文件树中查找文件,并作出相应的处理
grep 指令
语法:grep[选项]搜寻字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项

  • -i:忽略大小写的不同,所以大小写视为相同
  • -n:顺便输出行号
  • -v:反向选择,亦即显示出没有’搜寻字符串’内容的那一行

zip/unzip指令
语法:zip压缩文件.zip目录或文件
功能:将目录或文件压缩成zip格式

常用选项:

  • -r递归处理,将指令目录下的所有文件和子目录一并处理

举例:

1
2
将test目录压缩: zip test.zip test/*
解压到tmp目录:unzip test.zip -d /tmp

tar指令
tar [-cxtzjvf]文件与目录…参数:

  • -c:建立一个压缩文件的参数指令(create);
  • -x:解压一个压缩文件的参数指令;
  • -t:查看tarfile里面的文件;
  • -z:是否同时具有gzip的属性,是否需要用gzip压缩
  • -j:是否同时具有bzip2的属性,是否需要用bzip2压缩
  • -v:压缩过程中显示文件
  • -f:使用档名,f用在最后
  • -C:解压到指定目录

    重要的几个热键

[ctrl]-c:让当前程序停止
[ctrl]-d:通常代表着:键盘输入结束的意思
[Tab]:按键具有命令补全和档案补齐功能

关机

shutdown [选项]
常见选项:

  • -h:将系统服务停止后,立即关机
  • -r:在将系统服务停止之后就重新启动
  • -t sec:-t后面加秒数,意思是过几秒关机的意思

其他命令

du命令:du [选项] 文件

功能该命令是显示指定文件以及下的所有文件占用系统数据块的情况,如果没有文件,默认为是当前工作目录

  • -a    显示所有文件对系统数据块的使用情况

  • -b    显示数据块大小时以字节为基本单位

  • -c    除了显示文件对系统数据块的使用情况外还显示出文件的总和

  • -s    只显示文件数据块总大小,不显示文件名

  • -x    只显示当前目录,但不统计子目录

df命令:du [选项] 文件名

功能该命令与du命令相似,只不过是df计算的是当前文件所以数据快的使用情况(包括前不久删除的文件),而du只是计算当前存在的所有文件的数据快的使用情况

  • -a    递归显示各文件及其子目录的数据块利用

  • -h    方便阅读时显示

  • -H    和-h一样,只不过1k = 1000;而不是1024

  • -i    显示inode信息

  • -k    区块为1024字节

  • -T    文件系统类型

top命令:

功能:相当于windows下的资源管理器,可以查看当前CPU的使用情况,各进程的状况

  • -b    批处理
  • -I    忽略过失
  • -c    显示完整的治命令

  • -s    保密模式

free命令

功能:显示所有内存利用率。包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统使用的缓冲区等。

  • -b    以bype为单位显示

  • -k    以KB为单位显示

  • -m    以MB为单位显示

  • -o    不显示缓冲区

  • -t    显示内存总和列

pstack命令

功能:进程跟踪

su命令

功能:切换用户(由root用户向普通用户切换时不需要密码,由普通用户向root用户切换时需要密码)

password命令用来修改用户命令,但需要注意,root用户可以修改任何用户的密码,但普通用户只能修改自己的密码

useradd

useradd 选项 用户名

添加新的用户账号使用useradd命令

  • -c comment 指定一段注释性描述。
  • -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  • -g 用户组 指定用户所属的用户组。
  • -G 用户组,用户组 指定用户所属的附加组。
  • -s Shell文件 指定用户的登录Shell。
  • -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
sudo命令

sudo命令以系统管理者的身份执行指令,也就是说,经由sudo所执行的指令就好像是root亲自执行。

使用权限:在/ etc / sudoers中有出现的使用者。

  • -V显示版本编号
  • -h会显示版本编号及指令的使用方式说明
  • -l显示出自己(执行sudo的使用者)的权限
  • -v因为sudo在第一次执行时或是在N分钟内没有执行(N预设为五)会问密码,这个参数是重新做一次确认,如果超过N分钟,也会问密码
  • -k将会强迫使用者在下一次执行sudo时问密码(不论有没有超过N分钟)
  • -b将要执行的指令放在背景执行
  • -p prompt可以更改问密码的提示语,其中%u会代换为使用者的帐号名称,%h会显示主机名称
  • -u username / #uid不加此参数,代表要以root的身份执行指令,而加了此参数,可以以username的身份执行指令(#uid为该用户名的使用者号码)
  • -s执行环境变数中的SHELL所指定的shell,或是/ etc / passwd里所指定的shell
  • -H将环境变数中的HOME(家目录)指定为要变更身份的使用者家目录(如不加-u参数就是系统管理者root)
  • command要以系统管理者身份(或以-u更改为其他人)执行的指令

本文标题:Linux基本操作

文章作者:LiuXiaoKun

发布时间:2018年09月10日 - 20:09

最后更新:2018年10月01日 - 14:10

原始链接:https://LiuZiQiao.github.io/2018/09/10/Linux基本操作上/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%