【干货】Linux基本命令+文件类型详解
发布日期:2019-10-14 15:16:17点击次数:次
本篇文章具体讲述Linux下的一些基本命令以及文件类型,学习Linux最开始都是要掌握这些基础,这些基础让你在以后的运维道路上如鱼得水。废话不多说,开始进入正题了。
第1点、基本命令
基本命令包括:cdwhatistypepwdfileshutdownrebootinitrunlevellstouch
statmkdirrmdircpmvrmaliasunaliashistory
RHEL5终端的切换:
ctrl+alt+f1-f6切换字符终端
ctrl+alt+f7切换到图形终端
alt+f2相当于打开“运行”窗口(gnome-terminal)
------------------------------------------------------
RHEL6终端的切换:
ctrl+alt+f2-f6切换字符终端
alt+f1切换到图形终端
alt+f7备份图形终端
alt+f2相当于打开“运行”窗口(gnome-terminal)
路径:
绝对路径
以正斜线“/”开头
描述道文件位置的完整说明
任何时候你想指定文件名的时候都可以使用
cd/tmp/aa
相对路径
不以正斜线开头
制定相对于你的当前工作目录而言的位置
可以使用做制定文件名的快捷方式
相对路径:cd../tmp
pwd查看当前所在的工作目录
如何界定:type命令:typecd或者typels
命令分为内部命令和外部命令,内部命令移动不影响命令的使用,但是外部命令,移动了就会失效。
whatis--查看命令的完整名称
关机/重启
#halt-p或poweroff--马上关机
#init0--马上关机
#shutdown-hnow--马上关机
#reboot(halt)--马上重启
#shutdown-r+10(now)--10分钟后(马上)重启
#init6--马上重启
#ctrl+alt+del
init<--改变系统的运行级别,下面的定义在/etc/inittab文件设定
0---关机
1---默认没有用户和密码验证,单用户模式,忘记管理员密码用来修改密码,或者一些简单的排错
2---不带网络的文本模式,不带网络的多用户模式
3---带网络的文本模式,带网络的多用户模式
4---保留,没用
5---带图形的模式
6---重启电脑
#runlevel
N5
N代表没有,也就是说直接进入带图形的模式
S代表从但用户模式进入5模式
init6重启
init0关机
原来一登录系统的时候,就是运行级别3,要想运行图像界面:
1、startx
2、init5
要使用init对系统进行重启或者关机,建议大家使用之前,运行以下命令:
sync
关机:
shutdown-r重启电脑
shutdown-P直接关闭电源
shutdown-h15:00<---设定电脑15:00就关机
shutdown-h14:35"Hurryup.Thesystemisshuttingdown"&(与符号,后台运行)
shutdown-c取消计划中的关机或者重启
cd(changetheworkingdirectory):
cd--直接回到当前用户的家目录
cd~--直接回到家目录
cd..--返回上级目录
cd.--回到当前目录
cd---在两个目录之间切换
cd<path>--
ls(listdirectorycontents):
ls--查看当前目录包含哪里些内容
ls./--查看当前目录包含哪里些内容
ls../--查看上层目录包含哪里些内容
ls-a--查看当前目录中所有的文件,包括以点开头的隐藏文件
ls-l--详细方式列出目录中的内容
ls-al/--以长格式列出目录中所有的内容,包括隐藏文件
ls-ltr--以长格式和时间及以时间反向顺序来显示目录中的内容
ls-R--递归列出目录中的内容
tree/a/--查看a目录的目录树结构
ls-lhh以k单位显示
ll-d列出目录
touch:如果文件存在,则更新文件的时间戳/如果目标不存在,会创建一个空文件,可以改变三个时间
touch/a更新时间戳,因/a这个文件存在
touch/aa创建空文件
Access:2013-05-2715:28:01.082561140+0800--访问
Modify:2013-05-2715:28:01.082561140+0800--修改文件时间
Change:2013-05-2715:28:01.082561140+0800--属性修改时间
touch{1,2,3}aa{4,5,6}bb{7,8,9}--创建27个空文件
touch“{1,2,3}aa{4,5,6}bb{7,8,9}“--创建1个空文件
touch23--创建一个2,同时又创建一个3
touch'23'--创建一个2空格3的文件
touch{4..10}--创建4到10
touch{a..z}中间的..代表循环体.比如1..100,就是1到100
touch{A..Z}
sequence序列
seq100产生1到100的序列
#seq12100|xargstouch--创建出1到100内的奇数文件mkdir`seq12100`
#seq02100
eg:
#touch`seq12100`
]#ls
11521273137434953596577581879197
111723293339455556167717783899399
131925335414751576369737985995
stat:显示文件时间戳
#statinstall.log
访问时间(accesstime):文件被访问的时间,文本访问类命令会修改此时间
修改时间(modifytime):文件内容被修改的时间,使用echo命令会修改此时间
元数据改变时间(chagetime):文件属性的变化(名称、大小、权限、链接等),mv、echo命令会修改此时间
vim可以是改变访问时间和修改时间,echo>直接重定向可以改变修改时间。
touch-m|a-t201108311630.152011年8月31日16点30分15秒
修改时间的时候a对应Access;m对应Modify;Change没有对应的修改参数,不可修改
touch:建立文件
touchfile1file2:创建多个文件
touch-d20110808修改文件日期
touch-d1215修改文件时间
mkdir(他建目录)
mkdir/a/--新建一级目录
mkdir-p/c/d--新建多级不存在目录
rmdir:删除空目录
#rmdirdir1
#rmdir-pa/b/c
cpcopyfilesanddirectories
cp/dir1/file1/dir2/
cp/dir1/file1/dir2/file2
cp-a/dir1/file1/dir2--从dir1目录拷贝文件至2,过程中文件中所有的属性不变
cp-r/dir1//dir2--递归拷贝
注意:\cp/dir1/file1/dir2/file1如果有重名的不讯问是否覆盖,直接覆盖(\为转移符)
unalias-a|cp-r
eg:
#sudo-ukikitouchkiki
#llkiki
-rw-r--r--.1kikikiki012月2820:40kiki
[root@chentmp]#cp-akiki./test/
[root@chentmp]#ll./test/kiki
-rw-r--r--.1kikikiki012月2820:40./test/kiki
mvmove(rename)file
mv/dir1/file1/dir2
mv/dir1/file1/dir2/file2--移动并改名
mv/dir1/file1/dir1/file2--改名字
rm-removefilesordirectories
rm/a.txt
rm/a/
rm-rf/a//a.txt
删除方法小结:不管是删除文件还是删除目录,统一用rm-rf进行删除,就不用记那么多的参数了。
alias--定义别名
aliasxxx='yyy'
#aliaskk='ls--color'
#unaliaskk
unaliasxxx取消别名
永久定义别名
#vim/etc/bashrc
aliasgrep='grep--color=tty'
history-Manipulatethehistorylist
[root@instructor~]#env|grepHIS
history--查看命令历史
history-c--清空命令历史
history-w--把命令历史写入默认文件中(/root/.bash_history)
只有在退出去之后,才能把历史记录保存在当前用户家目录的.bash_history下
!
!number
ctrl+r:通过输入关键字查找输入历史中的命令
文件名:大小写敏感,不可超过255字符,不可以使用/,建议不要~\<>()$*?"'
>><<
文件颜色:
黑色:普通文本文件
绿色:可执行文件
目录:蓝色
链接:浅蓝色
设备:黄色
特殊权限文件(s)/管道文件(p):粉红色
快捷键:
crtl+c:中断
ctrl+d:中止输入
ctrl+l:清屏或者可以使用#clear
ctrl+z:把当前任务调至后台
jobs:查看后台任务
fg将后台中的命令调至前台继续运行
fg任务编号
bg将一个在后台暂停的命令,变成在后台继续执行
bg任务编号
ctrl+k:删除当前光标到后面的所有内容
ctrl+u:删除当前光标到前面的所有内容
++++
[root@i~]#jobs
[1]Runningsleep1000&
[2]Runningsleep10010&
[4]-Runningsleep10012&
[5]+Runningsleep10013&
[root@i~]#fg4
sleep10012
^Z
[4]+Stoppedsleep10012
[root@i~]#jobs
[1]Runningsleep1000&
[2]Runningsleep10010&
[4]+Stoppedsleep10012
[5]-Runningsleep10013&
#bg4
[4]+sleep10012&
[root@i~]#jobs
[1]Runningsleep1000&
[2]Runningsleep10010&
[4]-Runningsleep10012&
[5]+Runningsleep10013&
第2点、命令帮助
西安鸥鹏linux培训命令帮助步骤:
1、辨别是可执行的二进制命令还是文件,命令是file;
2、如果辨别出来是一个可执行的二进制命令;
3、使用type查询该命令是内部命令还是外部命令;
4、使用whatis查询该命令的全称
5、如果是外部命令,则使用命令+(--help)的形式查询简约的帮助文档,如果是内部命令则
可以直接使用help+命令的形式查看简约帮助文档;
6、查询man文档(1.5.8)例如:man5命令
man-k命令man-f命令
7、使用info查看doc帮助文档,一般形式info/usr/share/doc/要找的命令的关键字
help--简单帮助
command(out)--help外部命令
helpcommand(build_in)内部命令
[root@desktop22桌面]#typels
lsisaliasedto`ls--color=auto'此为外部命令
[root@desktop22桌面]#typeecho
echoisashellbuiltin此为内部命令
内部:help“内部命令”||helppwd
外部:外部命令--help||ls--help
man--帮助手册
manman
man[123456789]command(manman可以找出以下的东西)
1用户命令
2内核系统调用(从用户空间到进入点内核的)
3库函数
4特殊文件和设备
5文件格式和规范
6游戏
7规范、标准和其他页面
8管理员用的命令帮助手册
9linux、内核API(内核调用)
man-kpasswd执行关键字搜索
man-fuseradduseradd的manpage文件是哪个?
1.whatis
2.type查看类型
3.--help
4.man一下
5.rpm-qldhcp|grepdoc查看doc文档
第3点、时间
一定要会查帮助文档,先看参数,再往下看参数对应的格式是什么是分部分看的。
date
如此多的参数可以通过
date--help的方式来了解参数的用法,不用死记硬背。
使用网络时间同步方法修正当前自己机器时间
#ntpdate192.168.0.254远程同步服务器时间
#hwclock--systohc让时间同步到硬件时钟(BIOS)
#clock-w这个命令强制把系统时间写入CMOS
date--查看当前时间
#date+%F
2011-08-01
#date+%F--date="30dayago"
2011-07-02
#date"+%Y-%m-%d%H:%M:%S"
2012-10-2115:18:17
#echo$(($(date+%s)/86400))<---计算距离1970-01-01到现在的天数
14538
\转意符的使用方法很重要。
反撇号``优先解析
示例:mkdir`date+%F--date="30dayago"`
会建立一个名字为2013-10-27的目录
尝试利用帮助把当前时间修改为2000-10-0309:04
date
date-s2012-10-03\09:05
date-s"2012-10-0309:05"
date100309052012
cal
格式calmonthyear
cal22012显示2012年2月份的日历
cal2012显示2012年全年的日历
第4点、Linux文件类型
查看文件类型:
ls-l
file+文件--界定一个文件类型
b块文件也叫设备文件也叫特殊文件
c字符文件
d目录文件
p管道文件
f(-)普通文件/文本文件
l链接文件
s(socket)unix/类unix套接字
第5点、判断是什么文件类型或者命令
file(判断文件类型)
#filekk判断是什么文件类型
kk:empty空文件
-->如果不是文件
type(判断二进制命令【内部|外部】)
typekk
kkis/bin/kk--外部命令
或者
#typekk
kkisashellbuiltin
假如它是一个外部命令
whatis
#whatiskk一个命令的完整名称
which
#whichkk查询命令的路径
/bin/kk
help
#kk--help查询简约帮助信息
man
#man-fkk该命令包含有几个manpage文档
kk(1)-..参数
kk(8)-..
man8kk
info
/usr/share/doc/