基础操作命令

关机和重启系统

1
2
3
4
5
6
7
8
9
10
shutdown -h now 或者 poweroff   关闭系统(1)
init 0 关闭系统(2)
telinit 0 关闭系统(3)
shutdown -h hours:minutes 按预定时间关闭系统
shutdown -c 取消按预定时间关闭系统
shutdown -r now 重启(1)
shutdown -r 2 两分钟后重启
reboot 重启(2)
logout 注销

帮助命令(help)

1
2
ifconfig  --help     //查看 ifconfig 命令的用法

命令说明书(man)

1
man shutdown         //打开命令说明后,可按"q"键退出

切换用户(su)

1
2
su yao               //切换为用户"yao",输入后回车需要输入该用户的密码
exit //退出当前用户

目录操作命令

切换目录(cd)

1
2
3
4
5
6
7
cd /                 //切换到根目录
cd /bin //切换到根目录下的bin目录
cd ../ //切换到上一级目录 或者使用命令:cd ..
cd ~ //切换到home目录
cd - //切换到上次访问的目录
cd xx(文件夹名) //切换到本目录下的名为xx的文件目录,如果目录不存在报错
cd /xxx/xx/x //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全

查看目录(ls)

1
2
3
4
5
6
7
ls                   //查看当前目录下的所有目录和文件
ls -a //查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l //列表查看当前目录下的所有目录和文件(列表查看,显示更多信息),与命令"ll"效果一样
ls /bin //查看指定目录下的所有目录和文件
ls -F //查看目录中的文件
ls *[0-9]* //显示包含数字的文件名和目录名

创建目录(mkdir)

1
2
3
4
mkdir tools          		//在当前目录下创建一个名为tools的目录
mkdir /bin/tools //在指定目录下创建一个名为tools的目录
mkdir tool1 tool2 //同时创建两个目录
mkdir -p /tmp/dir1/dir2 //创建一个目录树

修改目录(mv)

1
2
3
4
mv 当前目录名 新目录名        //修改目录名,同样适用与文件操作
mv /usr/tmp/tool /opt //将/usr/tmp目录下的tool目录剪切到 /opt目录下面
mv -r /usr/tmp/tool /opt //递归剪切目录中所有文件和文件夹

拷贝目录(cp)

1
2
3
cp /usr/tmp/tool /opt       //将/usr/tmp目录下的tool目录复制到 /opt目录下面
cp -r /usr/tmp/tool /opt //递归剪复制目录中所有文件和文件夹
cp dir/* . //复制一个目录下的所有文件到当前工作目录

搜索目录(find)

1
2
3
4
5
6
7
8
9
10
11
find /bin -name 'a*' 	//查找/bin目录下的所有以a开头的文件或者目录
find / -name file1 //从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 //搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin //在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 //搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 //搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; //搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm //搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps //寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt //显示一个二进制文件、源码或man的位置
which halt //显示一个二进制文件或可执行文件的完整路径

查看当前目录(pwd)

1
2
3
pwd                       //显示当前位置路径
tree //显示文件和目录由根目录开始的树形结构(1)
lstree //显示文件和目录由根目录开始的树形结构(2)

删除目录与文件(rm)

1
2
3
4
5
6
7
rm 文件名              //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)
rm -r 文件夹名 //递归删除当前目录下此名的目录
rm -rf 文件夹名 //递归删除当前目录下此名的目录(不询问)
rm -rf * //将当前目录下的所有目录和文件全部删除
rm -rf /* //将根目录下的所有文件全部删除【慎用!相当于格式化系统】
rm -rf dir1 dir2 //同时删除两个目录及它们的内容

文件操作命令

新增文件(touch)

1
2
touch  a.txt         //在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间

删除文件(rm)

1
2
3
rm 文件名              //删除当前目录下的文件
rm -f 文件名 //删除当前目录的的文件(不询问)

编辑文件(vi、vim)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
vi 文件名              //打开需要编辑的文件
--进入后,操作界面有三种模式:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)
命令模式
-刚进入文件就是命令模式,通过方向键控制光标位置,
-使用命令"dd"删除当前整行
-使用命令"/字段"进行查找
-按"i"在光标所在字符前开始插入
-按"a"在光标所在字符后开始插入
-按"o"在光标所在行的下面另起一新行插入
-按":"进入底行模式
插入模式
-此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
-按"ESC"进入底行模式
底行模式
-退出编辑: :q
-强制退出: :q!
-保存并退出: :wq
## 操作步骤示例 ##
1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车 //保存并退出编辑
2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车 //撤销本次修改并退出编辑
## 补充 ##
vim +10 filename.txt //打开文件并跳到第10行
vim -R /etc/passwd //以只读模式打开文件

查看文件

1
2
3
4
5
cat a.txt          //查看文件最后一屏内容
less a.txt //PgUp向上翻页,PgDn向下翻页,"q"退出查看
more a.txt //显示百分比,回车查看下一行,空格查看下一页,"q"退出查看
tail -100 a.txt //查看文件的后100行,"Ctrl+C"退出查看

文件权限命令

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
28
29
30
31
32
  文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),括号内代表"8421法"
##文件权限信息示例:-rwxrw-r--
-第一位:'-'就代表是文件,'d'代表是文件夹
-第一组三位:拥有者的权限
-第二组三位:拥有者所在的组,组员的权限
-第三组三位:代表的是其他用户的权限
普通授权 chmod +x a.txt
8421法 chmod 777 a.txt //1+2+4=7,"7"说明授予所有权限

ls -lh 显示权限
ls /tmp | pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmod ugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1 file1 改变一个文件的所有人属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
chown user1:group1 file1 改变一个文件的所有人和群组属性
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
chmod +x 文件路径 为所有者、所属组和其他用户添加执行的权限
chmod -x 文件路径 为所有者、所属组和其他用户删除执行的权限
chmod u+x 文件路径 为所有者添加执行的权限
chmod g+x 文件路径 为所属组添加执行的权限
chmod o+x 文件路径 为其他用户添加执行的权限
chmod ug+x 文件路径 为所有者、所属组添加执行的权限
chmod =wx 文件路径 为所有者、所属组和其他用户添加写、执行的权限,取消读权限
chmod ug=wx 文件路径 为所有者、所属组添加写、执行的权限,取消读权限

打包和压缩命令

后缀命名

1
2
3
4
5
.zip、.rar        //windows系统中压缩文件的扩展名
.tar //Linux中打包文件的扩展名
.gz //Linux中压缩文件的扩展名
.tar.gz //Linux中打包并压缩文件的扩展名

打包文件

1
2
3
4
5
6
7
8
9
tar -zcvf 打包压缩后的文件名 要打包的文件
参数说明:z:调用gzip压缩命令进行压缩; c:打包文件; v:显示运行过程; f:指定文件名;
示例:
tar -zcvf a.tar file1 file2,... //多个文件压缩打包
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩

解压文件

1
2
3
4
5
tar -zxvf a.tar                      //解包至当前目录
tar -zxvf a.tar -C /usr------ //指定解压的位置
unzip test.zip //解压*.zip文件
unzip -l test.zip //查看*.zip文件的内容

系统文件结构说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/bin        二进制文件,系统常规命令
/boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev 设备文件,类似win的设备管理器,将所有的硬件用文件的形式存储
/etc 大多数配置文件,软件的配置文件
/home 普通用户的家目录
/lib 32位函数库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lib64 64位库
/lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media 手动临时挂载点,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt 手动临时挂载点,光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了
/opt 第三方软件安装位置
/proc 进程信息及硬件信息
/root 系统管理员,超级权限者的用户主目录
/sbin 系统管理命令
/srv 数据
/var 存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件
/sys 内核相关信息
/tmp 临时文件
/usr 用户相关设定,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录
/usr/bin 系统用户使用的应用程序。
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/usr/src 内核源代码默认的放置目录

日常系统命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
uname -m 	显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件
(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息
arch 显示机器的处理器架构
uname -m 显示机器的处理器架构
uname -r 显示正在使用的内核版本
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda 罗列一个磁盘的架构特性
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作
cat /proc/cpuinfo 显示CPU info的信息
cat /proc/interrupts 显示中断
cat /proc/meminfo 校验内存使用
cat /proc/swaps 显示哪些swap被使用
cat /proc/version 显示内核的版本
cat /proc/net/dev 显示网络适配器及统计
cat /proc/mounts 显示已加载的文件系统
lspci -tv 罗列 PCI 设备
lsusb -tv 显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date 041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS

未完待续……