Linux之常用命令I

一、Linux简介

1)Minix(只为教学,开源的)-->Linux(以前者为模板,添加了一些软件)

2)Linux分为内核版本和发行版本

区别:Linux内核版本就是核心版本,不用最新版本,用最安全、最稳定的版本,由官方网站提供,任何人都可以下载使用;而在内核版本的基础之上开发一些工具就会变成开发商的发行版本。

3)Linux主要发行版本

Redhat、ubuntu(图形界面更加漂亮)、CentOS、SuSE、fedora、gentoo linux、mandriva等等。Redhat和CentOS其实是完全一样的,前者收售后服务费,后者是免费的。Fedora是redhat的个人版本,功能比redhat还强大,因为开发一个新的功能就放在这里测试

4)开源软件简介

定义:开放源代码,绝大多数开源软件免费。

例如:Apache、NGINX、Mysql、php、samba、mongoDB、python、Rudy、Sphinx

5)Linux与Windows的不同

Linux严格区分大小写

Linux中所有内容以文件形式保存,包括硬件(一切内容皆文件)

Linux不靠扩展名区分文件类型(靠权限区分),没有扩展名概念,有一些约定型扩展名。例如:

压缩包:*.gz、*.bz2、*.tar.bz2、*.tgz

二进制软件包:.rpm

网页文件:*.html、*.php

脚本文件:*.sh

配置文件:*.conf

Windows下的程序不能直接在Linux中安装和运行

二、Linux系统安装

1) 虚拟机安装

1、简介:VMware是一个虚拟PC的软件,相当于模拟出一台新的PC

2) 系统分区

1、 磁盘分区:是使用分区编辑器在磁盘上划分几个逻辑部分。碟片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。

2、 分区类型:主分区:最多只能4个

扩展分区:最多只能有1个;主分区加扩展分区最多有4个;不能

写入数据,只能包含逻辑分区。

                 逻辑分区:是在创建主分区以后的分区。

硬盘的盘符是从C:开始的,C:就是无可选择的主要分区。如果一个硬盘只划分一个分区,那整个硬盘就是一个盘符C:。如果划分不止一个分区,那么C:后的分区就是扩展分区。扩展分区的第一个盘符D:就是第一逻辑分区,依此类推。

3、 格式化:又称逻辑式化,它是指根据用户选定的文件系统(如FAT16、FAT32、NTFS、EXT2、EXT3、EXT4等),在磁盘的特定区域写入特定数据,在分区中划出一片用于存放文件分配表、目录表等用于文件管理的磁盘空间。

4、 硬件设备文件名

硬件

设备文件名

IDE硬盘

/dev/hd[a-d]

SCSI/SATA/USB硬盘

/dev/sd[a-p]

光驱

/dev/cdrom或/dev/hdc

软盘

/dev/fd[0-1]

打印机(25针)

                    /dev/usb/lp[0-15]

打印机(USB)

/dev/usb/lp[0-15]

鼠标

/dev/mouse

5、 分区设备文件名

设备文件名:/dev/hda1(IDE硬盘接口)(hd代表硬盘的接口;a代表第一个

硬盘;1代表第一个分区)

                       /dev/sda1(SCSI硬盘接口、SATA硬盘接口)

6、 挂载

必须分区:/(根分区)

          swap分区(交换分区或虚拟内存,内存2倍,不超过2GB)

推荐分区:/boot(启动分区,200MB,建议单独分区,不影响启动)

7、 总结

分区:把大硬盘分为小的逻辑分区

格式化:写入文件系统

分区设备文件名:给每个分区定义设备文件名

挂载:给每个分区分配挂载点

挂载点:即可理解为windows中的盘符,比如C盘、D盘等。

3) Linux系统安装

安装教程:http://www.imooc.com/video/3245

安装完成后会有默认三个文件,就是安装日志

1、/root/install.log:存储了安装在系统中的软件包及其版本信息

2、/root/install.log.syslog:存储了安装过程中留下的事件记录

3、/root/anaconda-ks.cfg:以Kickstart配置文件的格式记录安装过程中设置的选项信息

如果需要安装大数量的Linux,可以依据此文件进行安装,这叫做网络批量安装

三、Linux常用命令

1) 命令基本格式

[root@localhost ~]#

root 代表当前登录用户(Linux当中管理员账号是root)

localhost 主机名

~ 当前所在目录(家目录,例如root用户的家目录就是/root,user1用户的

家目录即是/home/user1)

# 超级用户的提示符

$ 普通用户的提示符

命令格式:

命令 [选项] [参数]

注意:个别命令使用不遵循此格式;当有多个选项时,可以写在一起;简化选项与

完整选项(-a等于--all)

1、 查询目录中内容:ls

ls [选项] [文件或目录]

选项:-a 显示所有文件,包括隐藏文件

      -l 显示详细信息

      -d 查看目录属性

      -h 人性化显示文件大小

      -i 显示inode

注意:在linux当中.开头的文件都是隐藏文件

例如:drwxr-xr-x . 3 user  user  3.6K  2010-05-07 14:38  Downloads

      drwxr-xr-x (文件的权限)

      . (代表ACL权限)

      3(引用计数)

user(文件的所有者)

user(文件的所属组)

3.6k(文件大小,字节)

2010-05-07 14:38(最有一次修改的时间)

Downloads(文件名)

2、 文件权限(默认10位)

第一位“-”为文件类型(-代表文件;d代表目录;l代表软链接文件即快捷方式),后面每3位一组。

-rw-r--r--

rw-  u所有者

r--   g所属组(相同身份、相同权限)

r--   o其他人

r读 w写 x执行

2) 文件处理命令

1、 目录处理命令

◆  建立目录:mkdir(原意:make directories)

mkdir –p [目录名](-p表示递归创建)

例如:[root@localhost ~]# mkdir -p japan/cangls

代表:创建japan目录,随便在此目录下创建canls目录,这叫递归创建。

◆  切换所在目录:cd(原意:change directory)

简化操作

cd ~ 进入当前用户的家目录

cd

cd - 进入上一次目录

cd .. 进入上一级目录

cd . 进入当前目录

◆  相对路径:参照当前所在目录,进行查找

如:[root@localhost ~]# cd ../usr/local/src/

◆  绝对路径:从根目录开始指定,一级一级递归查找。在任何目录下,都能进入指定位置。(建议初学者都用绝对路径来进行访问)

如:[root@localhost ~]#cd /etc/

◆  查询所在目录位置:pwd(原意:print working directory)

◆  双击Tab键补全命令/目录

◆  删除空目录:rmdir(原意:remove empty directories)

rmdir [目录名]

◆  删除文件或目录:rm(原意:remove)

rm –rf [文件或目录]

选项:-r(删除目录)

          -f(强制)

◆  复制命令:cp(原意:copy)

cp [选项] [原文件或目录] [目标目录]

选项:-r(复制目录)

          -p(连带文件属性复制)

          -d(若源文件是链接文件,则复制链接属性)

          -a(相当于 –pdr以上3个整合)

◆  剪切或改名命令:mv(原意:move)

mv [原文件或目录] [目标目录]

2、 常见目录作用

◆  /根目录

◆  /bin命令保存目录(普通用户就可以读取的命令)

◆  /boot启动目录,启动相关文件

◆  /dev设备文件保存目录

◆  /etc配置文件保存目录

◆  /home普通用户的家目录

◆  /lib系统库保存目录

◆  /mnt系统挂载目录(u盘、移动硬盘等)

◆  /media挂载目录(光盘等)

◆  /misc挂载目录(外接磁盘机等)

◆  /root超级用户的家目录

◆  /tmp临时目录

◆  /sbin命令保存目录(超级用户才能使用的目录)

◆  /proc直接写入内存的

◆  /sys(proc和sys目录不能直接操作,保存的是内存的挂载点)

◆  /usr系统软件资源目录

   /usr/bin/系统命令(普通用户)

    /usr/sbin/系统命令(超级目录)

◆  /var系统相关文档内容

注:①根目录下的bin和sbin,usr目录下的bin和sbin,这四个目录都是用来保存系统命令的,sbin目录下保存的命令只有root和超级用户才能执行。

②可以在以上标红色的目录下随便放内容,其它目录谨慎使用

3、 链接命令

◆  链接命令:ln(原意:link)

ln –s [原文件] [目标文件]

功能描述:生成链接文件

选项: -s 创建软链接

◆  硬链接特征:

拥有相同的i节点和存储block块,可以看做是同一个文件;

可通过i节点识别;

不能跨分区;

不能针对目录使用。

◆  软链接特征:

类似Windows快捷方式;

软链接拥有自己的i节点和block,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据;

lrwxrwxrwx l代表软链接(软链接文件权限都为rwxrwxrwx取决与原文件);

修改任意文件,另一个都改变;

删除原文件,软链接不能使用。

注:在创建软链接的时候原文件一定要写绝对路径

3) 文件搜索命令

1、 文件搜索命令locate

◆  locate 文件名(在后台数据库中按文件名搜索,搜索速度更快)

◆  /var/lib/mlocate(locate命令所搜索的后台数据库,不是实时更新,每天更新)

◆  updatedb(更新数据库,新建文件需要更新数据库才能搜索到)

注:locate是按照/etc/updatedb.conf这个配置文件来搜索的,配置文件里的内容如下:

PRUNE_BIND_MOUNTS=”yes”(开启搜索限制,yes代表以下规则都生效)

PRUNEFS=“”(搜索时,不搜索的文件系统)

PEUNENAME=“”(搜索时,不搜索文件名带有这些关键字的文件)

PRUNEPATHS=“”(搜索时,不搜索的路径)

2、 命令搜索命令whereis与which

◆  搜索命令的命令:whereis

whereis 命令名(搜索命令所在路径及帮助文档所在位置)

选项:-b:只查找可执行文件

                 -m:只查找帮助文件

◆  搜索命令的命令:which

                 which 文件名(搜索命令所在路径及别名)

◆  PATH环境变量

PATH环境变量:定义的是系统搜索命令的路径

执行命令的时候都要在path定义的目录(可输入echo$PATH)中去寻找。

所以像ls这样的命令就可以不用加绝对路径(/bin/ls)就可以执行了。

如果自己写的脚本 在运行时不想写绝对路径,需要在path设置目录

3、 文件搜索命令find

◆  文件搜索的命令:find

find [搜索范围] [搜索条件]

例如:[root@localhost ~]# find / -name install.log

注:避免大范围搜索;如果需要匹配,可使用通配符(*、?、[])匹配。

◆  find /root –iname install.log(不区分大小写)

◆  find /root –user root(按照所有者搜索,搜索root目录下的所有者属于root用户的文件)

◆  find /root –nouser(查找没有所有者的文件,搜索没有所有者的文件,除了由内核产生的(一般在proc和sys目录下)和外来文件(如光盘、u盘))

◆  find 按文件时间来搜索

find /home -mtime +10/10/-10 在home目录下,查找10天前/10天当天/ 10天内修改的文件

atime 文件访问时间

ctime 改变文件属性

mtime 修改文件内容

◆  find按照文件大小来搜索

find .(代表当前目录) -size 25k(查找文件大小是25kb的文件)

-25k 小于25kb的文件

 25k 等于25kb的文件

+25k 大于25kb的文件

注意:单位用小写k或者大写M ,不能不加文件大小的符号,find默认的是数据块(扇区:每个扇区512字节)

◆  find . –inum 262422(查找i节点是262422的文件)

◆  find /etc –size +20k –a –size -50k(查找/etc/目录下,大于20kb并且小于50kb的文件)

-a 表示and 逻辑与,两个条件都满足

-o 表示or  逻辑或,两个条件满足一个即可

◆  find /etc -size +20k -a -size -50k -exec ls -lh {} \;(查找/etc/目录下,大于20kb并且小于50kb的文件,并显示详细信息)

{} \; 标准格式,只要有-exec这个命令就要书写,表示直接对前面的搜索结果进行后面的命令处理,其中必须添加可以处理第一条命令的命令

4、 字符串搜索命令grep

◆  搜索字符串命令:grep

grep [选项] 字符串 文件名 (在文件当中匹配符合条件的字符串。字符串使用 "" 包围。)

-i 忽略大小写

-v 排除指定字符串

5、 find命令与grep命令的区别

find:在 系统 中搜索符合条件的 文件名,使用通配符(完全)匹配

grep:在 文件 当中搜索符合条件的字符串,使用 正则表达式 (包含)匹配

通配符(完全)匹配:搜索文件名

正则表达式 (包含)匹配:搜索文件中的数据

4) 帮助命令

1、 帮助命令man

◆  man 命令(获取指定命令的帮助)

man ls(查看ls的帮助)

◆  man的级别

1:查看命令的帮助

2:查看可被内核调用的函数的帮助

3:查看函数和函数库的帮助

4:查看特殊文件的帮助(主要是/dev目录下的文件)

5:查看配置文件的帮助

6:查看游戏的帮助

7:查看其它杂项的帮助

8:查看系统管理员可用命令的帮助

9:查看和内核相关文件的帮助

◆  查看命令拥有哪个级别的帮助

man –f 命令(相当于whatis 命令)

查看和命令相关的所有帮助

man –k 命令(相当于apropos 命令)

2、 其它帮助命令

◆  选项帮助

命令 --help(获取命令选项的帮助)

例如:ls --help

◆  shell内部命令帮助

help shell内部命令(获取shell内部命令的帮助)

例如:whereis cd(确定是否是shell内部命令)

help cd(获取内部命令帮助)

◆  详细命令帮助info

Info命令(info里面内容十分繁琐,是关于命令的一个巨大的帮助文档,里面有各个版本对于此命令的说明。)

-回车:进入带*号的说明

-u: 进入上层页面(up)

-n: 进入下一个帮助小节(next)

-p: 进入上一个帮助小节(previous)

-q: 退出(quit)

5) 压缩与解压缩命令

常用压缩格式:.zip  .gz  .bz2

常用压缩格式:.tar.gz  .tar.bz2

1、 .zip格式压缩

zip 压缩文件名 源文件(压缩文件)

zip -r 压缩文件名 源目录(压缩目录)

2、 .zip格式解压缩

unzip 压缩文件(解压缩.zip文件)

3、 .gz格式压缩

gzip 源文件(压缩为.gz格式的压缩文件,源文件会消失)

gzip -c 源文件 > 压缩文件(压缩为 .gz格式,源文件保留)

例如:gzip -c test > test.gz

gzip -r 目录(压缩目录下所有的子文件,但是不能压缩目录)

4、 .gz格式解压缩

gzip -d 压缩文件(解压缩文件)

gunzip 压缩文件(解压缩文件)

5、 .bz2格式压缩

bzip2 源文件(压缩为.bz2格式,不保留源文件)

bzip2 -k 源文件(压缩为.bz2格式,保留源文件)

注意:bzip2 命令不能压缩目录

6、 .bz2格式解压缩

bzip2 –d 压缩文件(解压缩,-k保留压缩文件)

bunzip2 压缩文件(解压缩,-k保留压缩文件)

7、 打包命令tar

tar -cvf 打包文件名 源文件

选项:

-c 打包

-v 显示过程

-f 指定打包后的文件名

例如:tar  -cvf  test.tar  test

8、 解打包命令

tar -xvf 打包文件名

选项:

         -x:解打包

例如:tar -xvf test.tar

9、 .tar.gz压缩格式

◆  其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式

◆  tar -zcvf 压缩包名.tar.gz 源文件

选项:

                -z:压缩为.tar.gz格式

例如:[root@localhost ~]# tar -zcvf /tmp/test.tar.gz 文件名1 文件名2

(压缩多个文件到指定tmp目录下)

◆  tar -zxvf 压缩包名.tar.gz

选项:

                -x:解压缩.tar.gz格式

例如:[root@localhost ~]# tar -ztvf test.tar.gz(只查看压缩文件里内容不解压)

10、.tar.bz2压缩格式

◆  tar -jcvf 压缩包名.tar.bz2 源文件

选项:

                     -z:压缩为.tar.bz2格式

◆  tar -jxvf 压缩包名.tar.bz2

选项:

                     -x:解压缩.tar.bz2格式

例如:[root@localhost ~]# tar –jxvf test.tar.bz2 -C /tmp/(指定解压到tmp目录下)        

6) 光机和重启命令

1、 shutdown命令

shutdown [选项] 时间

选项:-c:取消前一个关机命令

          -h:关机

          -r:重启

后台运行:[root@localhost ~]# shutdown -r 时间 &

2、 其它关机命令(一般不会保存数据关机)

[root@localhost ~]# halt

[root@localhost ~]# poweroff

[root@localhost ~]# init 0(零)

3、 其它重启命令

[root@localhost ~]# reboot

[root@localhost ~]# init 6(尽量不用)

4、 系统运行级别

0      关机

1      单用户(相当于windows中的安全模式)

2      不完全多用户,不含NFS服务

3      完全多用户(我们常用的字符界面)

4      未分配

5      图形界面(用大写X代表)

6      重启

[root@localhost ~]# cat /etc/inittab(修改系统默认运行级别)

id:3:initdefault:

[root@localhost ~]# runlevel(查询系统运行级别)

N 3(N代表进入3级别前的那个级别即空级别,3代表当期级别即字符界面)

5、 退出登录命令

[root@localhost ~]# logout

7) 其它常用命令

1、 挂载命令

◆  查询与自动挂载

[root@localhost ~]# mount(查询系统中已经挂载的设备)

[root@localhost ~]# mount(依据配置文件/etc/fstab的内容,自动挂载)

/etc/fstab:自动挂载的配置文件

◆  挂载命令格式

[root@localhost ~]# mount [-t 文件系统] [-o 特殊选项] 文件名 挂载点

选项:

-t文件系统:加入文件系统类型来指定挂载的类型,可以ext3、ext4、iso9660等文件系统

-o特殊选项:可以指定挂载的额外选项。以下参数建议不要修改:

参数

说明

Atime/noatime

更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认更新

Async/sync

异步/同步,默认为异步

Auto/noauto

自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动

Defaults

定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项

Exec/noexec

执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许

Remount

重新挂载已经挂载的文件系统,一般用于指定修改特殊权限

Rw/ro

读写/只读,文件系统挂载时,是否具有读写权限,默认是rw

Suid/nosuid

具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有

user/nouser

允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许只有root可以挂载分区

usrquota

写入代表文件系统支持用户磁盘配额,默认不支持

grpquota

写入代表文件系统支持组磁盘配额,默认不支持

◆  挂载光盘

[root@localhost ~]# mkdir /mnt/cdrom/(建立挂载点)

[root@localhost ~]# mount –t iso9660 /dev/cdrom(建议用sr0) /mnt/cdrom(挂载光盘)

[root@localhost ~]# mount /dev/sr0 /mnt/cdrom/

◆  卸载命令

[root@localhost ~]# umount 设备文件名或挂载点

[root@localhost ~]# umount /mnt/cdrom

◆  挂载u盘

[root@localhost ~]# fdisk –l(查看u盘设备文件名)

[root@localhost ~]# mount –t vfat /dev/sdb1 /mnt/usb/

注意:Linux默认是不支持NTFS文件系统的

2、 用户登录查看和用户交互命令

查看登录用户信息

◆  w 用户名

命令输出:

user:登录的用户名;

TTY:登录终端;

FROM:从哪个IP地址登录;

LOGIN@:登录时间;

IDLE:用户闲置时间;

JCPU:指的是该终端连接的所有进程占用的时间。这个时间里并不包括过

去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间;

PCPU:是指当前进程所占用的时间;

WHAT:当前正在运行的命令

◆  who 用户

命令输出:

-用户名

-登录终端

-登录时间(登录来源IP地址)

查询当前登录和过去登录的用户信息

◆  last

last命令默认是读取/var/log/wtmp文件数据

命令输出

-用户名

-登录终端

-登录IP

-登录时间

-退出时间(在线时间)

查看所有用户的最后一次登录时间

◆  lastlog

lastlog命令默认是读取/var/log/lastlog文件内容

命令输出

-用户名

-登录终端

-登录IP

-最后一次登录时间

posted @ 2017-01-08 22:11  赤道上的冰雕  阅读(819)  评论(0编辑  收藏  举报