mkdir -p [目录]
创建目录
-p 递归创建
ls 查看当前目录下的文件和目录等其他文件
cd [目录]
命令英文愿意:change directory
切换所在目录
简化操作
cd ~ 进入当前用户的家目录
cd
cd - 进入上次目录
cd .. 进入上级目录
cd . 进入当前目录
linux 的Tab键可以自动补全文件名称或命令名称
pwd
查询所在目录位置
命令英文愿意:print working directory
rmdir [目录名]
命令英文原意:remove empty directories
作用:删除空目录
rm -rf [文件或目录]
命令英文原意:remove
选项:
-r 删除目录
-f 强制
touch 创建空文件
cp [选项] [源文件或目录] [目标目录]
命令英文原意:copy
作用:复制命令
选项:
-r 赋值目录
-p 连带文件属性复制
-d 若原文件是链接文件,则赋值链接属性
-a 相当与 -pdr
mv [原文件或目录] [目标目录]
命令英文原意:move
作用:剪切或改名
硬链接特征:
1.拥有相同的i节点和存储block快,可以看作是同一个文件
2.可通过i节点识别
3.不能跨分区
4.不能针对目录使用
软链接特征:
1.类似Windows快捷方式
2.软链接拥有自己的I节点和Block块,但是数据块照顾你只保存员文件的文件名和I节点号,并没有实际的文件数据
3.|rwxrwxrwx|软链接 权限都是这样的
4.修改任意文件,另一个都改变
5.删除原文件,软链接不能使用
ln -s [原文件] [目标文件] :软链接
ln [原文件] [目标文件] :硬链接
做软链接 原文件一定要写绝对路径
文件搜索命令locate
命令搜索命令whereis与which
文件搜索命令find
字符串搜索命令grep
find命令与grep命令的区别
locate 文件名
在后台数据库中按文件名搜索,搜索熟读更快
/var/lib/mlocate
#locate命令所搜索的后台数据库
updatedb
更新数据库
/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS = "yes"
PRUNEFS =
PRUNENAMES=
find /var/log/ -mtime +10
#查找10天前修改的文件
-10(<) 10天内修改文件
10(=) 十天当天修改的文件
+10(>) 十天前修改的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
find . -size 25k
#查找文件大小时25kb的文件
-25k 小于25k
25k 等于
+25k 大于
find . -inum 262422
#查找i节点是262422的文件
find /etc -size +10k -a -size -100k
#查找/etc/目录下,大于10kb并且小于100kb的文件
-a and 逻辑与
-o or 逻辑或
find /etc -size +10k -a -size -100k -exec ls -lh {} ;
#查找/etc/目录下,大于10KB并且小于100KB的文件,并显示详细信息
#-exec/-ok 命令 {};对搜索结果执行操作
搜索字符串命令grep
.grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除指定字符串
帮助命令man
man 命令
#获取指定命令的帮助
man ls
#查看ls的帮助
查看命令拥有那个级别的帮助
man if 命令
相当于
whatis 命令
举例:
man -5 passwd
man -4 null
man -8 ifconfig
man的帮助级别
1:查看命令的帮助
2:查看可被内核调用的函数的帮助
3:查看函数和函数库的帮助
4:查看特殊文件的帮助(主要是/dev目录下的文件)
5:查看配置文件的帮助
6:查看游戏的帮助
7:查看其他杂项的帮助
8:查看系统管理员可用命令的帮助
9:查看和内存相关文件的帮助
查看和命令相关的所有帮助
man -k 命令
相当于
apropos 命令
例如:
apropos passwd
选项帮助
命令 --help
#获取命令选项的帮助
例如:ls --help
shell 内部命令帮助
help shell 内部命令
#获取shell内部命令的帮助
例如:
whereis cd
#确定是否是shell内部命令
help cd
#获取内部命令帮助
详细命令帮助info
info 命令
-回车 :进入子帮助页面(带有*好标记)
-u:进入上一层页面
-n:进入下一个帮助小结
-p:进入上一个帮助小结
-q:退出
打包命令tar
tar -cvf 打包文件名 源文件
选项:
-c:打包
-v:显示过程
-f:制定打包后的文件名
例如:
tar -cvf longzls.tar longzls
tar解打包命令
tar -cvf 打包文件名
选项:
-x:解打包
例如:
tar -xvf longzls.tar
.tar.gz 压缩格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-c:压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项:
-x:解压缩.tar.gz格式
.tar.bz2压缩格式
.tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-c:压缩为.tar.bz2格式
.tar -jxvf 压缩包名.tar.bz2
选项:
-x:解压缩.tar.bz2格式
tar -jxvf jp.tar.bz2 -C /tmp/ 大写C解压.tar.bz2文件到指定位置
tar -zxvf jp.tar.gz -C /tmp/ 大写C解压.tar.gz文件到指定位置
压缩多个文件和文件夹到指定目录
tar -zcvf /tmp/test.tar.gz jp anaconfa-ks.cfg
tar -jcvf /tmp/test.tar.bz2 jp anaconfa-ks.cfg
tar -ztvf test.tar.gz
tar -jtvf test.tar.bz2
查看压缩包中的内容
1、shutdown命令
shutdown [选项] 时间
选项:
-c:取消前一个关机命令
-h:关机
-r:重启
例子:
shutdown -r now
shutdown -c
shutdown -r 05:30
2.其他关机命令
halt
poweroff
init 0
3、其他重启命令
reboot
init 6
4、系统运行级别
0 关机
1 单用户
2 不完全多用户,不含NFS服务
3 完成多用户
4 未分配
5 图形界面
6 重启
init 0-6
cat 查看某个文件的内容
runlevel
#查看系统运行级别
cat /etc/inittab
#修改系统默认运行级别
id:3:initdefault:
5、退出登录命令
logout
1.查询与自动挂载
mount
#查询系统中已经挂载的设备
mount -a
#依据配置文件/etc/fstab的内容,自动挂载
2.挂载命令格式
mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点
选项:
-t 文件系统:加入文件系统类型来指定挂载的类型,可以ext2、ext4、iso9660等文件系统
-o特殊选项:可以指定挂载的额外选项
特殊选项列表
atime/noatime:更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新(atime)
async/sync:异步/同步,默认为异步
auto/noauto:自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认自动(auto)
defaults:定义默认值,相当于rw,suid,exec,auto,nouser,async这七个选项
exec/noextc 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许
remount :重新挂载已经挂载的文件系统,一般用于指定修改特殊权限
rw/ro:读写/只读 ,文件系统挂载时,是否具有读写权限,默认是rw
suid/nosuid:具有/不具有SUID权限,设定文件系统是否具有SUID和SGID的权限,默认是具有(suid)
user/nouser 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只用root用户可以挂载分区
usrquota:写入代表文件系统支持用户磁盘配额,默认不支持
grpquota:写入代表文件系统支持组磁盘配额,默认不支持
实例:
mount -o remount,noexec /home
#重新挂载/home分区,并使用noexec权限
cd /home
vi hello.sh
chmod 755 hello.sh
./hello.sh
mount -o remount,exec /home
#记得改回来,避免影响系统启动
3.挂载光盘
mkdir /mnt/cdrom/
#建立挂载点
mount -t iso9660 /dev/cdrom/mnt/cdrom/
#挂载光盘
mount /dev/sr0/mnt/cdrom
挂载光盘
mount /dev/sr0 /mnt/cdrom
5.挂载U盘
fdisk -l
#查看U盘设备文件名
mount -t vfat /dev/sdb1 /mnt/usb/
注意:Linux默认是不支持NTFS文件系统的
用户登陆查看命令
查看登陆用户信息
w 用户名
命令输出:
USER:登陆的用户名
TTY:登陆终端
FROM:从哪个IP地址登陆
LOGIN@:登陆时间
IDLE:用户限制时间
JCPU:值的是和该总段的所有进程占用的时间
PCPU:是指等钱进程所占用的时间
WHAT:当前正在运行的命令
who 用户名
命令输出
-用户名
-登陆终端
-登陆时间(登陆来源IP地址)
查询当前登录和过去登录的用户信息
last
last命令默认是读取/var/log/wtmp文件数据
命令输出:
-用户名
-登陆终端
-登陆IP
-登陆时间
-退出时间(在线时间)
lastlog:查看这个操作系统所有用户的最后一次登陆的
-用户名
-端口
-IP地址
-最后登陆时间
lastlog
lastlog命令默认是读取/var/log/lastlog文件内容
命令输出:
-用户名
-登陆终端
-登陆IP
-最后一次登陆时间
1、Shell是什么
Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求一遍运行程序的界面系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。
Shell还是一个功能相当强大的编程语言,易编写、易调试、灵活性较强。Shell是解释执行的脚本语言,在Shell中可以直接调用Linux系统命令。
Shell的两种主要语法类型有Bourne和C,这两种语法彼此不兼容。Bourne家族主要包括:sh,ksh,Bash,psh,zsh.最主要的是Bash
C家族主要包括:csh/tcsh
echo $SHELL 打印SHELL变量内容
Bash与sh兼容。
shell类型转换,直接输入shell类型名称即可,退出进入的shell类型 exit
查看Linux支持哪些Shell
在文件/etc/shells
vi /etc/shells
echo /etc/shells
echo 输出命令
echo [选项] [输出内容]
选项:
-e:支持反斜线控制的字符转换
控制字符
a 输出警告音
退格键,也就是向左深处键
换行
回车键
制表符,也就是Tab键
v 垂直制表符