简单小命令:
右击桌面打开终端,可以输入Linux命令。
重启(shutdown -r now)(reboot)(init 6)
关机(shutdown -h now)(poweroff)(init 0)(halt)
五分钟后关机(重启)shutdown -h(-r) +5
--Ctrl+C取消关机(重启)【终止当前进程】
的作用: 1.命令行的续行
2.将特殊符号的特殊功能去掉,表示特殊符号本身。
bc命令:打开Linux中的计算器。
命令行格式
Linux命令的通用命令格式
中括号可有可无 命令字 [选项] [参数] 一定要有空格
查看帮助命令:
查看帮助文档 man + 命令 [可选]
info +命令
help +命令
shell 解释命令行 shell包括图形和字符界面
外部命令通过help不能查看帮助[图片]
[root@dbserver01 ~]# touch --help
Usage: touch [OPTION]... FILE... 命令格式
空格下一页
回车下一行
退出Q或者q
搜索 //
内部命令没有路径,外部命令有路径
内部和外部命令
shell 壳
--是人与内核打交道的接口
shell是一个命令解析器,提供了一个操作界面(字符和图形)并且解析命令行。
如判断命令是内部命令还是外部命令?
1、查找命令所在路径,如果找不到,那么就是内部命令,否则外部命令。(不推荐)
[root@dbserver01 ~]# which cd
/usr/bin/which: no cd in (/usr/lib64/qt-
3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@dbserver01 ~]# which touch
/bin/touch
2、用type查看(推荐)
[root@dbserver01 ~]# type cd
cd is a shell builtin //内部命令
[root@dbserver01 ~]# type touch
touch is hashed (/bin/touch) //显示绝对路径,是外部命令
3、使用man命令查看帮助
如果看到BASH_BUILTINS // 表示内部命令
如果看到User Commands //表示外部命令
退出man命令:q
Linux中有多种类型的shell,默认是bash
如何知道Linux支持那些shell?
[root@dbserver01 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
命令行辅助操作
Ctrl+A 把光标移动到行前开头
Ctrl+E 把光标移动打行尾末端
Ctrl+R 查找历史命令(按上下箭头)
快捷键Ctrl:输入结束
箭头 使用历史命令
用户登录命令
who/user/w 命令
查询那个用户正在登录系统
[root@dbserver6-1 ~]# who
root tty1 2018-11-17 13:51 本地登录
root pts/0 2018-11-17 13:52 (172.16.1.13) 远程登录
查询当前是哪个用户:用 id命令
exit命令:
退出控制台命令
logout命令:
注销系统命令
(用于退出当前登录的shell,其功能与login指令相互对应)
login命令:
给出登录界面命令(用于重新登录或者切换用户身份时)
语法: login(选项)(参数)
选项: -p: 告诉login指令不销毁环境变量
-h:指定远程服务器的主机名。
参数:
用户名:指定登录使用的用户名。
logname命令:
用来显示用户的名称。
语法: logname(选项)
选项: --help 在线帮助
--vesion 显示版本信息
su命令
su - 用户名 切换用户
由root切换到普通用户,不需要输入密码;反过来需要密码
返回原来的用户,用退出命令 exit
date命令:
用途:查看或设置系统时间
格式: date ... (date -s 修改时间)
实例: 显示时间日期效果例如 2012-12-12 12:35
[root@dbserver6-1 ~]# date
Thu Nov 22 15:25:33 CST 2018
[root@dbserver6-1 ~]# date +%F %H:%M 或者 “date +%F %H:%M” (建议)
2018-11-22 15:26
[root@dbserver6-1 ~]# date "+%F %T" //查看系统时间,精确到秒
2018-11-22 15:36:47
[root@dbserver6-1 ~]# date -s 09:15:13 //修改系统时间时分秒
Thu Nov 22 09:15:13 CST 2018
[root@dbserver6-1 ~]# date -s 2018-11-11 //修改系统时间年月日
Sun Nov 11 00:00:00 CST 2018
[root@dbserver6-1 ~]# date -s "2018-11-11 16:45:50" //修改系统时间
Sun Nov 11 16:45:50 CST 2018
hwclock命令:
用途:同步系统和硬件时间
格式: hwclock [选项]
选项: -s | --hctosys 硬件到系统 set the system time from the hardware clock
-w | --systohc 系统到硬件 set the hardware clock to the current system time
设置硬件时间:
BISO(B):Basic Input/ Output System
基本输入输出系统,是一个程序(可以进行虚拟机上的硬件上的参数的查看和设置)
目录操作命令
pwd命令:
查看工作目录(Print Working Directory)
cd命令: 、
切换工作目录(Change Directory)
格式: cd[目录位置]
特殊目录: . 当前目录
.. 上一级目录
~ 用户主目录
- 上个工作目录
cd ~ == cd 回到家目录
指定用户的家目录 ~user用户名
查看其它用户的家目录 ls ~user用户名
ls 命令
l l是一个别名,对应着真正的命令是ls -l
查看目录文件的内容;目录文件的内容是子目录名或文件名
Linux下,隐藏文件的名称是以 . 开头的
l l是一个别名,对应着真正的命令是ls
ls -l =ll
ls -ld 显示目录本身属性
[root@dbserver01 tmp]# ll
total 4
-rw-r--r--. 1 root root 0 Nov 1 18:06 a.txt
----------. 1 root root 797 Nov 1 18:36 shadow
-rw-------. 1 root root 0 Oct 26 17:44 yum.log
上述第一列表示文件类型和权限,第一个字符表示文件类型,后面的9个字符表示权限;
第二列表示硬链接数量;
第三列表示文件的拥有者owner(属主);
第四列表示文件的属组group;
第五列表示文件内容的大小;
第六列表示修改文件内容的日期和时间;
最后一列表示文件名称。
mkdir命令:
用途:创建新的目录
格式:mkdir [-p] [/路径/]目录名
作用:mkdir命令会自动检查目录前的路径中的每一层目录是否存在,如果不存在,就会自动创建}
要求在/omp目录下,创建目录mp3,命令是: mkdir -p /opt/mp3
rmdir命令:
用途:删除空的目录
rm -rf 删除文件(危险)
rm -rf 路径/目录
du命令
用途:统计目录及文件的空间占用情况(默认KB字节)
格式:du[选项]···[目录或文件名]
常用命令选项: -a:统计包括所有的文件,而不仅仅只统计目录
-h : 以更易读的字节单位(K、M等)显示信息
-s : 只统计每个参数所占用空间总的大小
文件操作命令
touch命令:
用途:新建空文件,或更新文件标记
格式: touch 文件名······
常用命令选项: -a:改变文件读取的时间记录
-m:改变文件内容修改的时间记录
-r:使用参考文件的事件记录
-d:设定时间与日期
man touch 帮助命令
touch 已存在文件,会更新读取时间和修改时间,修改时间改变会引起属性时间改变
指定修改时间,要用 -d选项 touch -a -d 时间 文件aa
touch 命令只能修改 读取时间和修改时间
[root@dbserver6-1 ~]# stat a.txt
File: `a.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 174420 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-11-07 11:07:01.062996018 +0800 //读取时间,例如cat
Modify: 2018-11-07 11:07:01.062996018 +0800 //内容修改时间,ls -l查看到的就是这个时间
Change: 2018-11-07 11:07:01.062996018 +0800 //属性修改时间,例如:修改权限
元数据------属性数据
查看元数据: stat a2,用stat命令
修改内容 文件的大小会发生变化,文件内容修改时间也会有变化,属性也会变化。
内容修改时间和属性修改时间会同时改变
读取时间不属于 属性
[root@dbserver6-1 ~]# touch a.txt //新建已有文件时更新文件标记
[root@dbserver6-1 ~]# stat a.txt
File: `a.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 174420 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-11-07 11:30:47.652997187 +0800
Modify: 2018-11-07 11:30:47.652997187 +0800
Change: 2018-11-07 11:30:47.652997187 +0800
[root@dbserver6-1 ~]# stat a.txt
File: `a.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 802h/2050d Inode: 174420 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-11-07 11:37:04.727996888 +0800
Modify: 2018-11-07 11:30:47.652997187 +0800
Change: 2018-11-07 11:30:47.652997187 +0800
[root@dbserver6-1 ~]# cd ..
[root@dbserver6-1 /]# cd tmp
(1)[root@dbserver6-1 tmp]# echo "123">>a.txt //追加一行内容
(2)[root@dbserver6-1 tmp]# cat a.txt // access对应的内容有变化
123
[root@dbserver6-1 tmp]# stat a.txt
File: `a.txt'
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 174429 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-11-07 11:48:54.935996288 +0800 //因(1)有变化
Modify: 2018-11-07 11:48:46.699996438 +0800 //因(2)有变化
Change: 2018-11-07 11:48:46.699996438 +0800 //因(2)有变化
[root@dbserver6-1 tmp]# chmod +x a.txt //修改权限
[root@dbserver6-1 tmp]# stat a.txt
File: `a.txt'
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 174429 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-11-07 11:48:54.935996288 +0800
Modify: 2018-11-07 11:48:46.699996438 +0800
Change: 2018-11-07 11:55:51.209994149 +0800 //因修改权限发生变化
注释 :1、建立不同类型的文件
2、修改文件的Access的时间
3、修改文件的Modify的时间
4、将file2文件的时间代替为file1文件的时间(以前面的文件时间为准)
rm命令
【0-9】表示数字,【a-z】表示小写字母
注释 :1、删除当前目录下所有文件及子目录
2、删除当前目录下的所有只有三个字符的文件名和目录名
3、删除当前目录下的所有具有 .log 后缀名的文件(但是不能删除隐藏文件,如果要删除隐藏文件就要去打开隐藏文件,然后删除)
-f force 强制性 不提醒
(rm删除下会有提醒,y 回车 确认删除,n 回车 取消删除)
rm -r 也可以删除非目录文件(-r多余)(建议删除文件不要用 -r)
[root@dbserver6-1 tmp]# mkdir q
[root@dbserver6-1 tmp]# ls
a a b c d e b c d e fd q
[root@dbserver6-1 tmp]# rm -f q
rm: cannot remove `q': Is a directory
[root@dbserver6-1 tmp]# rm -r q \删除目录用 rm -r
rm: remove directory `q'? y
[root@dbserver6-1 tmp]# ls
a a b c d e b c d e fd
[root@dbserver6-1 tmp]# ls
[root@dbserver6-1 tmp]# touch a1 a2 a3 b1 b2 b3
[root@dbserver6-1 tmp]# ls
a1 a2 a3 b1 b2 b3
[root@dbserver6-1 tmp]# rm -f a? \? 对应1个字符
[root@dbserver6-1 tmp]# ls (as 是两个字符。s是一个字符)
b1 b2 b3
file命令
用途: 查看文件类型
格式: file 文件名··
stat命令
用途:查看与文件的相关属性
格式:stat 文件名···
cp命令
-p:保留源文件的权限
-i : 覆盖前提醒
-f : 强制
-a选项包含-r和-p选项的功能。
cp /etc/passwd /opt \将/etc/passwd文件复制到 /opt目录下,没有改名
cp /etc/passwd /opt/a.txt \将/etc/passwd文件复制到 /opt目录下,改名为a.txt,与原文件内容相同
diff a.txt passwd \该命令对比两个文件内容是否相同,如果完全一样,则没有任何输出。
cp /etc/passwd /etc/shadow /tmp\将/etc/passwd和/etc/shadow文件复制到 /tmp目录下,无法改名
[root@localhost tmp]# which cp
alias cp='cp -i'
/bin/cp 存在于硬盘
cp是别名,,别名存在内存中,-i会有提示
如何查看别名?
[root@dbserver6-1 ~]# alias
alias cp='cp -i' \ -i interactive(覆盖前提醒)
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias cd="ls" //给ls创建别名为“cd”
unalias 别名 //改别名会被删除
unalias -a //所有别名将会被删除
命令的查找顺序:
cp -r /opt /tmp \将/opt目录或者文件都复制到/tmp目录下,这里要注意复制目录需要使用-r选项
mv命令
//不管是cp命令还是mv命令,如果有多个源文件或者目录,那么目标必须是存在的目录。
文件改名:
mv 123.txt 456.txt \这里就是将文件123.txt的名称修改为456.txt的名称
关于查找文件的一些命令
ln命令:
硬链接:
一个文件有多个不同的文件名。(一个iNode号对应多个文件名)
命令格式: ln 源文件... 链接文件
创建硬链接
ln abc.txt 123.txt
rm abc.txt
软连接:
(相当于windows上的快捷方式)
符号链接:表面上和硬链接相似,符号链接文件有自己的iNode,与源文件的iNode是不一样的。
文件类型和权限肯定是lrwxrwxrwx
命令格式: ln -s 源文件... 链接文件
创建软链接
ln -s abc.txt 123.txt
rm abc.txt
硬链接和软链接比较
软链接:指向原始文件所在的路径,又称为符号链接
硬链接:指向原始文件对应的数据存储位置
不能为目录建立硬链接文件
硬链接与原始文件必须位于同一分区(文件系统)中(硬链接不能跨文件系统)
文件内容操作命令
cat命令
文本文件查看:
用途:用于显示文件的全部内容,
格式: cat -n 文件名 显示行号
cat -i 文件名 //查看文件的inode号码
tac命令
用途:从最后一行倒着显示出文件的全部内容。
more命令
more 分页显示文件内容
用途:全屏方式分页显示文件内容
交互操作方法:
按Enter键向下逐行滚动
按空格键向下翻一屏、按b键向上翻一屏
按q键退出
less命令
用途:与more命令相同,但扩展功能更多
交互操作方法:
与more命令基本类似,但个别操作会有些出入
【page down】【page up】上翻下翻页
head命令
用途:查看文件开头的一部分内容(默认为10行)
格式:head -n 文件名
head -5 文件名,查看文件的前5行
head -n +5 //查看文件到第五行
tail命令
用途:查看文件结尾的少部分内容(默认为10行)
格式: tail -5 //查看文件最后五行
tail -n +5文件名 //查看文件从第五行到最后
tail -f 文件名 //可以动态查看文件内容,适用查看日志文件
tail命令高级用法
格式:tail -n 数字 文件名
数字:数字前有 +(加号),从文件开头指定的单元 数开始输出;数字前有 -(减号),从文件末尾指定的单元 数开始输出;没有 +或 -,从文件末尾指定的单元 数开始输出。
例如:
tail -n +3 /etc/passwd //从第三行开始显示
tail -n -3 /etc/passwd //显示最后三行
head -n -3 /etc/passwd //不显示最后三行
head -n +3 /etc/passwd //显示前三行
文件查找命令
which命令
用途:查找可执行文件并显示所在位置。(查找命令的程序文件)
——搜索范围由PATH环境变量指定
格式:which 命令或程序名
whereis命令
用途:查找文件的路径、该文件的帮助文件路径,原理和which类似
格式:whereis 命令或程序
locate命令
格式:locate 文件名
根据每天更新的数据库(/var/lib/mlocate)查找,速度快
不能找到自己新建的文件但会找到已经删除的文件。
手动更新数据库updatedb
find命令:
用途:用于查找文件或目录(查找各种类型的文件)
格式:find [查找范围] [查找条件] [动作]
常用查找条件
-name:按文件名称查找
-size: 按文件大小查找
-user: 按文件属主查找
-type: 按文件类型查找
-perm :按文件权限查找
-mtime :按文件更改时间查找
-newer:按比某个文件更新的查找
特殊查找条件
-o :逻辑或,只要所给的条件中有一个满足,寻找条件就算满足
-not :逻辑非,在命令中可用“!”表示。该运算符表示查找不满足所给条件的文件
-a:逻辑与,系统默认是与,可不加,表示只有当所给的条件都满足时,寻找条件才算满足。
find /boot -size +1024k -o -name “vmlinuz*”
find /home !-user hello -exec ls -ld {} ;
find命令:
格式:find /usr -mtime +/-数字
数字:数字前有 +(加号),大于数字的天数;数字前有 -(减号),小于数字的天数;没有 +或 -,等于数字的天数。
例如:
find /usr -mtime 4 表示4天前那一天
find /usr -mtime -4 表示4天内
find /usr -mtime +4 表示4天前
格式:find [查找范围] [查找条件] [动作]
常用动作:
-exec:将find查找的结果交给-exec后面的命令执行
-ok:比-exec动作多了一个确认
例子:find /home -user hello -exec ls -ld {} ; //中括号里是find的查询结果,“”是命令结束符。
设置查找深度:(查找文件的范围为目录树深度的多少)
find 源目录 -maxdepth 1 -type f
-maxdepth 查找最大深度
挂载光驱:
[root@dbserver6-1 ~]# mount /dev/sr0 /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only
/dev/sr0 第一个光驱
/dev/sr1 第二个光驱
··· ···
归档及压缩命令
zip命令
用途:制作压缩文件
格式:zip 压缩文件名 文件1 文件2
压缩目录: zip -r 压缩文件名 目录名
unzip命令
用途:解压缩文件
格式:unzip 【-l】压缩文件名 -l解压缩后列出基本信息
解压到指定目录: unzip -d 要解压的压缩文件名 目录名
如果不指定,则解压到当前目录
gzip命令 :
用途:制作压缩文件、解开压缩文件
格式:gzip [-9] 文件名...
gzip -d .gz格式的压缩文件
常用命令选项
-9:表示高压缩比,取值1-9,默认为6
-d:用于解压缩文件,同unzip命令
-c:将输出重定向到标准输出
zcat命令:
用途:查看压缩文件内容
格式:zcat 压缩文件名
bzip2命令:
用途:制作压缩文件、解开压缩文件
格式:bzip2 [-9] 文件名...
bzip2 -d .bz2格式的压缩文件
常用命令选项
-9:表示高压缩比,取值1-9,默认为6
-d:用于解压缩文件,同bunzip2命令
-c:将输出重定向到标准输出
bzcat命令:
用途:查看压缩文件内容
格式:bzcat 压缩文件名
tar命令
用途:制作归档(打包)文件、释放归档文件,(可以归档压缩,也可以不压缩)
格式:tar [选项]... 归档文件名 源文件或目录
tar [选项]... 归档文件名 [-C 目标目录]
常用命令选项
-c:创建 .tar 格式的包文件
-x:解开.tar格式的包文件
-v:输出详细信息
-f:表示使用归档文件(选项后面必须是归档文件名)
-t:列表查看包内的文件
-p:保持原文件的原来属性
-P:保持原文件的绝对路径
-C:建包或解包时进入指定的目录
-z:调用gzip程序进行压缩或解压
-j:调用bzip2程序进行压缩或解压
-J:调用xz程序进行压缩或解压
-A:追加归档文件到另一个归档文件里去
-r:追加文件到归档文件中
-cf:创建存档。从两个文件中创建tar包。
-tvf:列出存档中的所有文件。
-xf:从archive.tar中提取所有文件。
-A:--catenate, 将tar文件连接到归档文件
-d: 查找归档和文件系统之间的差异
--delete: 从档案中删除(不是在mag磁带上!)
-u : 只追加档案中较副本更新的档案
--test-label: 测试存档卷标签并退出
tar命令注意事项:
一定要注意绝对路径和相对路径问题,推荐使用相对路径。
使用z或j压缩的文件,解压缩的时候不需要加上z或j,tar直接可以识别。
tar对目录和文件都可以进行操作,gzip和bzip2只能对文件进行操作。
查找历史命令
Ctrl + r 查找历史命令
history 查看历史命令
重复运行历史命令:
!历史命令的编号
!! 运行上一个历史命令
!rpm 调用以rpm开头的最近的历史命令