Linux系统中一些常用命令的简单介绍

1.Windows和Linux的区别
    a.linux严格区分大小写
    b.linux中所有的内容以文件的形式保存,包括硬件
    c.Linux不靠扩展名区分文件类型
    d.Windows下的程序不能直接在Linux中安装和运行

2.linux系统分区
分区:把硬盘逻辑上分成几个不同的存储空间
分区类型:
主分区:最多只能有4个(磁道->扇区512KB 硬盘为分区表保留了64字节的存储空间,分区参数占据16个字节所有只能分4个)
扩展分区:
    最多只能有一个
    主分区加扩展分区最多有4个
    不能写入数据,只能包含逻辑分区
逻辑分区:理论上最多23个


格式化:(写入文件系统)
FAT16 最大支持2G分区
FAT32  单个文件不超过4G
NTFS  分区大 文件大
ext2  ext3 ext4 linux默认ext4

硬件设备文件名
IDE硬盘        /dev/hd[a-d]
SCSI/SATA/USB硬盘    /dev/sd[a-p]
光驱        /dev/cdrom或/dev/hdc
软盘        /dev/fd[0-1]
打印机        /dev/lp[0-2]
鼠标        /dev/mouse

分区设备名
/dev/hda1 表示第一块IDE硬盘接口的第一个主分区
/dev/sda1 表示第一块SATA硬盘接口的第一个主分区

挂载(给分区分配挂载点的过程,挂载点类似于windows中的盘符)
必须分区:
    /(根分区)
    swap分区(交换分区或者虚拟内存,一般内存不足4G时,为内存的两倍。超过4G可以等于内存)
推荐分区:
    /boot(启动分区,推荐200M,用于系统启动)


linux命令安装VMware Tool
1.输入“mount -t iso9660 /dev/cdrom /mnt/cdrom”将光盘挂载到/mnt/cdrom目录下
2.输入“ls /mnt/cdrom/”查看内容,输入“cp /mnt/cdrom/VMwareTools-9.2.0-799703.tar.gz /root/vm.tar.gz”,
将名为“VMwareTools-9.2.0-799703.tar.gz”复制到/root目录下,并重新命名为vm.tar.gz(不是必须)
3.在根目录下输入“ls”查看文件,输入“tar -xzf vm.tar.gz”将文件解压
4.进入新增目录“vmware-tools-distrib”,输入“./vmware-install.pl”尝试安装,未安装编译环境GCC要安装
5.GCC安装完一直enter就行

anaconda-ks.cfg  安装过程中设置的选项信息
install.log    存储了安装在系统中的软件包及其版本信息
install.log.syslog 存储了安装过程中留下的事件记录

Linux常用命令
命令提示符:[root@localhost ~]#  root当前登录用户  localhost主机名  ~当前所在目录(家目录)
#超级用户提示符  $普通用户提示符  root用户根目录下的/root  普通用户 /home/user|test

命令基本格式:
命令 [选项] [参数]
ls    -l     /etc
ls [选项] [文件或目录]  :查询目录内容
     
选项:
 -a 显示所有文件,包含隐藏文件(.开头的文件是隐藏文件)
 -l 显示详细信息
 -d 查看目录属性
 -h 人性化显示文件大小
 -i 显示inode(id号)
 ll==>ls -l

权限:
-rw-r--r--. 1 root root  28K 5月  13 00:53 install.log
10位 0位文件类型(-文件 d目录 l软链接文件)
rw-        r--        r--
u所有者        g所有组        o其他人
r读 w写 x执行
.TODO
1引用计数(文件调用次数)
root 所有者
root 所属组
28k 文件大小
5月  13 00:5 文件最后一次修改时间
install.log 文件名



目录处理命令:

建立目录: mkdir -p [目录名]
-p递归创建

切换目录:

cd ~  cd进入当前用户的家目录
cd 进入家目录
cd - 进入上次目录
cd . 进入当前目录
cd ..进入上一级目录

pwd print work directory 打印当前目录
文件处理命令:

查看所在目录的位置pwd

删除目录:
rmdir [目录名]  删除空目录(极少使用)

删文件
rm -rf [文件或目录] -r删除目录  -f强制

复制文件:cp
cp [选项] [原文件或目录][目标目录]
选项:
   -r 复制目录
   -p 连带文件属性复制
   -d 若源文件是链接文件,则复制链接属性
   -a 相当于-pdr

mv 剪切[目录]
mv anseon /tmp/an剪切
mv anseon an改名


常用目录的作用:
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
/boot启动目录,启动相关的文件
/dev设备文件保存目录
/etc配置文件保存目录
/home普通用户家目录
/lib系统库保存目录
/mnt系统挂载目录
/media 挂载目录
/misc 挂载目录(空)
/root超级用户的家目录
/tmp临时目录
/sbin命令保存目录(超级用户才能使用的目录)
/proc /sys直接写入内存的(sys不能直接操作,是内存的挂载点)

/usr系统软件资源目录
   /usr/bin/系统命令(普通用户)
   /usr/sbin/系统命令(超级用户)
/var系统相关文档内容

/bin  /usr/bin 普通用户可操作的命令
/sbin /usr/sbin 超级用户可操作的命令

链接命令:
ln -s[源文件] [目标文件]
-s创建软链接
硬链接特征:
1.拥有相同的i节点和存储的block块,可以看成是同一个文件
2.通过i节点识别
3.不能跨分区
4.不能针对目录使用

软链接特征:
1.类似windows的快捷方式
2.软链接拥有自己的I节点和block块 ,但数据块中只保存原文件的文件名和I节点号并没有实际的文件数据
3.修改任意文件,另一个都改变
4.删除源文件,软链接不能使用
***软连接源文件和目标文件在不同目录下要写绝对路径


文件搜索命令:
locate 文件名(包含就行)
在后台数据库中按文件名搜索,速度很快

/var/lib/mlocate(locate命令所搜索的后台数据库,不同的版本可能名字不一样)
如果文件存在并且没有写错,却搜索不到需要执行updatedb更新数据库

搜索的策略:
/etc/updatedb.conf 配置文件
PRUNE_BIND_MOUNTS yes搜索按照文件中定义的规则
PRUNEFS  搜索时不搜索的文件系统
PRUNENAMES  搜索时不搜索的文件类型
PRUNEPATHS  搜索时不搜索的路径

命令搜索命令(shell命令找不到):
whereis  which

whereis
搜索命令所在路径及帮助文档所在位置
  选项:
    -b :只查找可执行文件
    -m:只查找帮助文件
[whoami我是谁 whatis 命令 我是干什么的]

which
搜索命令所在路径及别名(如果有)

PATH环境变量:定义的是系统搜索命令的路径
通过echo $PATH能获得搜索路径



帮助命令
man 命令 manual
获取指定命令的帮助
man -f 命令
等价于:whatis 命令
获取命令的帮助级别
exp: man 1 ls

查看和命令相关的所有帮助
man -k 命令
apropos 命令

选项帮助
命令 --help

shell内部解释器帮助
help shell内部命令
whereis cd 确定是否是shell内部命令
help cd 获取内部命令的帮助

info ls 详细命令帮助


常用压缩格式:
zip: .zip
  zip 压缩文件名  源文件名
  zip -r 压缩文件名 源目录
unzip 解压


g zip:.gz
  gzip压缩源文件会消失
  gzip -c 源文件 > 压缩文件(源文件保留)
  gzip -r 目录(压缩目录下的子文件,不能压缩目录)

  gzip -d 压缩文件
  g unzip 解压

b zip2:(不能压缩目录).bz2
  bzip2 源文件,不保留源文件
  bzip2 -k 源文件,保留源文件

  b unzip2 -d 解压


  .tar.gz  .tar.bz2(解决gz和bz2不能压缩目录的问题)
打包tar
tar -cvf 打包文件名 源文件
选项:
     -c 打包
     -v 显示过程
     -f 指定打包后的文件名
 
 tar -cvf gd.tar gd

 解压
 tar -xvf 打包文件名
 选项: -x 解打包
 tar -xvf gd.tar

 最终做法:
tar -zcvf 压缩成.tar.gz文件
   选项:-z 压缩为.tar.gz格式
    tar -zcvf gd.tar.gz  gd
 tar -zxvf 解压缩
   tar -zxvf gd.tar.gz

tar -jcvf 压缩成.tar.bz2文件
   选项:-j 压缩为.tar.bz2格式
tar -jxvf 解压

指定解压位置
tar -jxvf 文件名 -C 位置

指定压缩位置
tar -jcvf 位置+文件名  文件1 文件2
查看压缩包中的内容:
tar -ztvf gd.tar.gz

关机和重启命令
shutdown [选项] 时间  [&]后台执行
    选项:
    -c:取消前一个关机命令
    -h:关机
    -r:重启

其他关机命令(不推荐使用):
halt /  poweroff / init 0


其他重启命令:
reboot / init 6

runlevel 查看当前的运行级别
cat /etc/inittab 查看默认运行级别的配置

退出登录
logout



其他常用命令:
挂载命令:
1.查询与自动挂载
mount  查询系统中已经挂载的设备
mount -a 根据配置文件/etc/fstab的内容自动挂载

2.挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名  挂载点
选项:
    -t:加入文件系统的类型,可以是ext3,ext4,iso9660等文件系统
    -o:指定挂载的额外选项
-o参数
atime/noatime   更新访问时间/不更新访问时间。访问分区文件时是否更新文件的访问时间,默认更新
async/sync    异步/同步 默认为异步
auto/noauto  自动/手动  mount -a 命令执行时,是否自动安装/etc/fstab文件内容挂载,默认自动
defaults    定义默认值,相当于rw,suid,exec,auto,nouser,async这7个选项
exec/noexec  执行/不执行,设置是否允许在文件系统中执行可执行文件,默认exec 允许
remount  重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro   读写/只读  文件挂载时,是否具有读写权限,默认rw
suid/nosuid  具有/不具有SUID权限
user/nouser 允许/不允许普通用户挂载,默认nouser 只允许root可以挂载分区
usrquota  写入代表文件系统支持用户磁盘配额,默认不支持
grpquota  写入代表文件系统支持组磁盘配额,默认不支持

演示仅供了解
mount -o remount,noexec /home 重新挂载/home分区,使用noexec权限
cd /home
vi andy.sh  .sh是脚本文件,文件内容中第一行必须是#!/bin/sh
chmod 755 andy.sh 给文件或目录设置权限
./hello.sh 执行脚本文件
实验完要把权限改回来
mount -o remount,exec /home

3.挂载光盘
①建立挂载点(任意已经存在的空目录)
    mkdir /mnt/cdrom
②挂载光盘
    mount -t iso9660 /dev/sr0 /mnt/cdrom (-t iso9660可以省略)
③卸载
    umount 设备名/挂载点    umount /mnt/cdrom(不要在挂载目录卸载)

4.挂载U盘(挂载成功后也只能只读,了解就行)
先查看u盘的设备文件名
fdisk -l
①建立挂载点(任意已经存在的空目录)
    mkdir /mnt/usb
②挂载U盘
    mount -t vfat /dev/[设备文件名sdb1|sdc1...] /mnt/usb
③卸载
    umount 设备名/挂载点    umount /mnt/usb(不要在挂载目录卸载)


用户登录查看和用户交互命令
w 用户名  查看用户的登录信息
命令输出:
    USER 登录的用户名
    TTY  登录的终端
    FROM 从哪个IP地址登录
    LOGIN@ 登录时间
    IDLE  用户闲置时间
    JCPU  和该终端连接的所有进程占用的时间
    PCPU 当前进程所占用的时间
    WHAT 当前正在执行的命令

who用户名
命令输出:
    用户名
    登录终端
    登录时间(登录IP)

last
默认读取/var/log/wtmp文件中的数据
查询当前登录和过去登录的用户信息

lastlog
默认读取/var/log/lastlog文件中的数据
查看所有用户最后一次登录的时间



用户和用户组
/etc/group  存储当前系统中所有用户组的信息
Group:        x:    0:         andy,jack
组名称  组密码占位符  组编号      组中用户列表

/etc/gshadow存储当前系统中用户组的密码信息
Group:        *:    :    andy,jack
组名称  组密码    组编号      组中用户列表

/etc/passwd存储当前系统中所有用户的信息
andy    :x        :500        :500    :*        :/home/andy    :/bin/bash
用户名  密码占位符     用户编号   用户组编号  用户注释信息   用户主目录    shell类型

/etc/shadow存储当前系统中所有用户的密码信息
andy    :*****:17480:0:99999:7:::
用户名  密码

groupadd 组名 添加组
修改组名
groupmod -n newname oldname
修改组编号
groupmod -g 编号  组名


你可能感兴趣的:(Linux)