linux 基本操作命令
——一切皆文件
一、对目录进行的操作命令(目录大小一般都是4096)
命令的使用格式:
命令名 [选项] [源操作对象] [目标操作对象]
ls————列出目录下的内容(默认是当前目录)
ls -a查看所有文件(包含隐藏文件)(linux下以.开头的文件是隐藏文件,默认不显示)
.代表当前目录
.. 代表当前目录的上一层目录
ls -l查看当前目录下文件的详细信息
-普通文件 d目录文件 $链接数(目录项个数)
ls -t(-lt) 按时间进行排序
ls -r(-lr) 对当前的排序进行逆序
lS按大小排序
man查看命令手册,q退出
(linux每个用户登录成功后默认的当前所在目录是在自己的家目录里)
pwd————显示当前所在绝对路径
mkdir 创建目录
mkdir tmp(创建tmp)
mkdir ./tmp/abc(创建abc,前提是tmp存在)
mkdir -p 从上往下递归创建目录
rmdir删除空目录,不为空删除不了
rmdir -p 递归删除(从最内层往外删除 空目录)
rm————默认删除普通文件
rm -r 进入目录删除目录,提示信息(y ,n)
rm -rf忽略提示信息,直接删除(是否删除?)
cd————修改当前所在路径,进入其他目录。
cd ~ 回到当前用户家目录
cd - 上一次所在路径
mv————剪切
移动文件到指定位置
mv text workspace/(把text移动到workspace中) mv workspace/text/ ./tmp (把移动过去的text改名称为tmp)
mv -i 若目标文件已经存在,询问是否覆盖
mv -f 忽略提示信息,直接覆盖 mv ./work ./text 把work改为text(前提是text不存在,若text存在,则将work复制到text中)
cp————拷贝(无法直接命令)
cp -r(递归拷贝)拷贝所有内容
linux下的目录结构:
linux下的目录结构是一个树型结构
绝对路径:/home/rong/aaa.txt 起始查找路径是根目录
相对路径:../rong/aaa.txt 起始查找路径是当前目录
在进入目录时需要的权限:
r----read 权限
w----write 权限
x----修改可执行权限
在ll或者ll-t的命令下文件前面都有其对应的权限说明。例如 drwxr-xr-x
第一个字母用来区分文件类型:
d:表示是一个目录,
-:表示这是一个普通的文件
b、c:分别表示区块设备和其他的外围设备,是特殊类型的文件
s、p:这些文件关系到系统的数据结构和管道,通常很少见到
第2~10个字符当中的每3个为一组,左边三个字符表示所有者权限,中间三个字符表示与所有者同一组的用户的权限,右边三个字符是其他用户的权限。这三组字符9个字符分别为:r、w、x。
二、对文件进行的操作命令
touch————可以创建一个不存在的文件,若文件已经存在,不创建,刷新文件的时间属性。
touch aa.txt
touch -t(-d) 指定时间日期来刷新文件时间
touch -d "2018-06-10 00:00:00" aa.txt
touch -r bb.txt aa.txt,以bb.txt来刷新aa.txt的时间
cat————打印一个文件中的内容到显示器上
cat -n 打印某一行
tac————倒序打印文件中的内容
more————分页显示文件中的内容
按空格显示下一页
按 b 向上翻页
less————分页显示,检索,将匹配的字符高亮显示。
找完后按 n,继续向下检索。不会循环匹配。
?string 继续向上检索
/string 继续向下检索
q 退出
head————默认打印一个文件的前十行
head -n(-n2或者-2) 打印前n行
tail————默认打印文件的最后十行
tail -f 循环打印文件最后一行内容
contrl + c 退出
echo 向界面打印字符串
echo “askjjop” >>aa.txt 将字符串写入aa.txt
三、对文件的压缩相关命令
zip————压缩
zip text.zip aa.txt bb.txt(小文件压缩后内存变大,大文件变小)zip后紧跟压缩包名称,再加要压缩的文件
unzip————解压 unzip text.zip
gzip————直接压缩,后不用跟压缩包名称,自动生成(.gz格式)
gunzip————解压
bzip2————压缩,比zip压缩的更小(自己添加名称)
bunzip2————解压
zip cmd.zip cmd/可以压缩目录
gzip cmd,bzip2 cmd 不能压缩目录
tar————打包
tar -c 对一个文件或目录进行打包操作
tar -v 显示打包的详细信息
tar -f 必须放最后(因为后必须跟压缩包名称)
tar -cvz (tar -cvzf cmd.tar.gz cmd) 进行gz格式压缩(打包并压缩)
tar -x————解包 (tar -xvzf cmd.tar.gz 解包解压)
tar -cvjf————打包的同时以bzip2格式进行压缩
tar -xvjf————解压
四、匹配查找命令
grep————匹配命令(字符串在前,文件在后),只显示含搜索的字符串的一行
grep -i忽略大小写
grep -v反向匹配,不含查找的字符串的一行
grep "O\{2,\}" 包含两个O或多个O的一行
find————找文件
find -name 以文件名来查找
find ./ -name "hellow.txt"(一定指定在哪个目录)
find ./ -name "hellow*"(模糊查找)
find -time 以时间来查找
find ./ -mmin -40找40分钟以内的文件(mmin修改时间, amin最后一次状态访问时间,cmin最后一次状态修改时间)
find ./ -mmin +40分钟以前的文件
min指分钟,time指天数
find ./ -mtime -1指一天以内的文件
find -size 以大小来找文件(默认是字节)
find ./ -size -40M(+40M) 找40M以内(外)的文件
五、 其他操作命令
data————显示当前系统时间
data +%s————时间格式
data +“%Y-%m-%d”(年-月-日格式)(或直接data +"%F")
data +"%T"("%H:%M:%S") 时:分:秒
data -s 修改时间(有权限问题)
su————切换用户(su -root)
cal ————日历(当月)
cal -3只能显示三个月
cal -y全年
cal -j按当年中的第几天来显示日历
六、根目录下每个目录的分类意义:
/bin :
bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程序( bin是binary - -二进制的简称),多是系统中重要的系统文件。
/etc :
etc目录存放着各种系统管理和配置文件,其中包括了用户信息文件/etc/passwd,系统初始化文件/etc/rc等。linux正是*这些文件才得以正常地运行。
/etc/rc.d :
启动的配置文件和脚本
/lib :
标准程序设计库,/lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。又叫动态链接共享库,作用类似windows里的.dll文件。 这些文件包含了可被许多程序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间。
/lib/modules :
目录包含系统核心可加载各种模块,尤其是那些在恢复损坏的系统时重新引导系统所需的模块(例如网络和文件系统驱动)。
/mnt :
mnt目录是系统管理员临时安装( mount )文件系统的安装点。程序并不自动支持安装到/mnt 。/mnt 下面可以分为许多子目录,如/mnt/ext 可能是使用ext2文件系统的软驱,/mnt/cdrom 光驱等等。
/root :
系统管理员的主目录(特权阶级)
/usr :
最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/x11r6 存放x window的目录
/usr/bin 众多的应用程序
/usr/sbin 超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib 常用的动态链接库和软件包的配置文件
/usr/man 帮助文档
/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的库
/boot :
/boot目录存放引导加载器(bootstrap loader)使用的文件,如lilo,核心映像也经常放在这里, 而不是放在根目录中。但是如果有许多核心映像,这个目录就可能变得很大,这时使用单独的文件系统会更好一些。还有一点要注意的是,要确保核心映像必须在ide硬盘的前1024柱面内。
/dev :
dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来访问鼠标的输入,就像访问其他文件一样。
/home :
用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lost+found :
这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/misc :
该目录可以用来存放杂项文件或目录,即那些用途或含义不明确的文件或目录可以存放在该目录下。
/proc :
虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/sbin :
sbin目录类似/bin ,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然普通用户必要且允许时可以使用,但一般不给普通用户使用。
/srv :
系统启动服务时候可以访问的数据库目录
/tmp :
公用的临时文件存储点, /tmp 目录存放程序在运行时产生的信息和数据。但在引导启动后,
运行的程序最好使用/var/tmp/来代替/tmp ,因为前者可能拥有一个更大的磁盘空间。
/var :
某些大文件的溢出区,比方说各种服务的日志文件。
七、某些重要命令
1.du:
显示指定文件以及文件下的所有文件占用系统数据块的情况,如果没有文件,默认是当前目录。
-a:显示所有文件对系统数据块的使用情况
-b:显示数据块大小时以字节为基本单位
-c:除了显示文件对系统数据块的使用情况外还显示出文件的总和
-s:只显示文件数据块总大小,不显示文件名
-x:只显示当前目录,但不统计子目录
2.df:【选项】文件名
与du相似。du计算的是当前问价所有数据块的使用情况(包括前不久删除的文件),而du只是计算当前存在的所有文件的数据块的使用情况。
-a:递归显示各文件及其子目录的数据块利用
-h:方便阅读时显示
-H:和-h一样,只不过当前1k=1000字节,不是1024.
-i:显示inode信息
-k:区块为1024字节