简单小命令:node
右击桌面打开终端,能够输入Linux命令。shell
重启(shutdown -r now)(reboot)(init 6)数据库
关机(shutdown -h now)(poweroff)(init 0)(halt)windows
五分钟后关机(重启)shutdown -h(-r) +5 bash
--Ctrl+C取消关机(重启)【终止当前进程】服务器
\的做用: 1.命令行的续行less
2.将特殊符号的特殊功能去掉,表示特殊符号自己。 测试
bc命令:打开Linux中的计算器。ui
命令行格式spa
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 //因修改权限发生变化
注释 :一、创建不一样类型的文件
二、修改文件的Access的时间
三、修改文件的Modify的时间
四、将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开头的最近的历史命令