linux命令学习记录
Posted 喵喵扑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令学习记录相关的知识,希望对你有一定的参考价值。
一、文件处理命令
1.建立目录:mkdir
格式:mkdir -p [文件名]
-p:递归创建
例如:mkdir test --在当前目录下创建一个test文件夹
mkdir -p test/lxw --递归创建
2.切换所在目录
格式:cd [目录]
例如:cd /home/ --从当前目录切换到根目录的 home 文件夹下面
简化操作:
cd ~ --进入当前用户的家目录
cd
cd - --进入上次目录
cd .. --进入上一级目录
cd . --进入当前目录
3.删除目录
(1)删除空目录:rmdir [文件名]
格式:rmdir [文件名]
例如:rmdir test --只有空的文件才能删除
(2)删除文件:rm
格式:rm -rf [文件或者目录]
-r --删除目录
-f --强制删除
例如:rm -rf test --无提示删除文件夹 test
4.复制命令:cp
格式:cp [选项] [原文件名或目录名] [目标目录]
选项:
-r --复制目录
-p --连带文件属性复制
-d --如果原文件是简介文件,则复制链接属性
-a --相当于 -pdr
例如:cp test.cfg /test/ --复制当前目录下的test.cfg到 test文件夹下
cp -r abc/ /test/ --复制当前目录下的abc文件夹到test文件夹下
cp -p abc/ /test/ --复制当前目录下的abc文件夹到test文件夹下(完整复制)
cp -p abc/ /test/ --复制当前目录下的abc文件夹到test文件夹下(完整复制,常用的)
5.剪切命令或者改名命令:mv
格式:mv [原文件名或目录名] [目标目录]
例如:mv abc/ /test/ --剪切abc到test文件夹下
mv abc def --把abc文件改名为def
注意:如果目标文件在当前目录下,则是改名,如果不在,则是剪切;
6.链接命令: ln
格式:ln -s 原文件 目标文件
(1)硬链接
例如:ln /root/abc.zip /tmp/abczip.r --把文件abc.zip在/tmp/下创建一个名为abczip.r的硬链接
(2)软连接
例如: ln -s /home/test/wen.txt /home/wen.r --把文件wen.txt在/home/下创建一个名为wen.r的软连接
二、文件搜索命令
查询目录中的内容:ls
-a :查看全部文件,包括隐藏文件
-l :显示详细的信息
-h :人性化显示
-d :查看目录的属性
-i:显示文件的i节点号
查看当前文件的所在位置:pwd
1.locate:搜索速度快
格式:locate 文件名
例如:locate Linux学习笔记.txt --搜索Linux学习笔记.txt文件
注意:locate 搜索的是数据库,新建的的文件需要更新才能找到
2.whereis :搜索命令的命令
格式:whereis [-b][-m] 命令名
-b:只查找可执行文件
-m:只查找帮助文件
注意:不写参数查找可执行文件和帮助文件
例如:whereis ls --查找ls命令
whereis -b ls --查找ls命令的可执行文件
whereis -m ls --查找ls 命令的帮助文件
3.which 搜索命令的命令,如果这个命令有别名,他会找到这个别名
格式:which 命令名
例如:which ls --查找ls命令 ,并显示出他的别名
- find 命令
格式:find [搜索范围] [搜索条件]
(1) find [地址] -name [文件名] :按文件名搜索
例如:find /home/test/ -name wen.txt --在/home/test/下查找文件名为wen.txt的文件
注意:如果想模糊查询,则需要使用通配符,常见的通配符有(*:任意字符;?:任意一个字符;[]匹配任意一个中括号呢的内容,通配符通常使用英文双引号包裹)
例如:find /home/test/ -name "*.txt" --在/home/test/下查找文件名为 .txt 结尾的文件
find /home/test/ -name "wen.tx?" --在/home/test/下查找文件名为 wen.tx 开头,以任意一个字符结尾的文件
find /home/test/ -name "w[eb]n.txt" --在/home/test/下查找文件名为 wen.txt 或者 wbn.txt 的文件
(2)find [地址] -iname [文件名]:不区分大小写搜索,与 -name 基本相同
(3)find [地址] -user[文件名]:按所有者搜索
例如:find /root -user root --在 /root 下查找属于root的文件
ps:find /root -nouser :查找没有所有者的文件(没有所有者的文件,不是外来文件和内核产生的文件,就是垃圾文件,请手动删除.)
?
(4)find [地址] -mtime 时间:按时间搜索
-10:10天内修改的文件
10:第10天修改的数据
+10:10天前修改的数据
例如:find /home/test -mtime -10 --搜索/home/test文件下 10天内修改的文件
ps:除了可以搜索修改的数据外,还可以搜索改变属性,访问时间的文件(-atime:文件访问时间;-ctime:文件属性改变时间)
(5)find [地址] -size 文件大小:按文件大小搜索
-25k:表示小于25KB
25k:表示扥与25KB
+25k:表示大于25KB
例如:find /home -size +25k --查找/home下大于25kb的文件
ps:表示kb的用小写字符k,表示兆的用大写字符M
例如:find /home -size -1M --查找/home下小于1M的文件
(6)find [地址] -inum 文件i节点:按文件节点查找
例如:find /home -inum 2396179 --查找/home i节点为 2396179 的文件
?
(7)常见复合查询
-a : and逻辑与,表示两边都成立
-o : or逻辑或,表示只要有一边成立
-exec 命令 {}; : 对搜索的结果进行操作
例如:find /home -size +20k -a -size -50k --查找/home下大于20k并且小于50k的文件
find /home -size -20k -o -size +50k -exec ls -lh {} ; --查找/home下小于20k或者大于50k的文件,并执行 ls -lh 命令
find /home -inum 2396179 -exec rm -rf {} ; --查找/home下 i节点为 2396179 的文件,并删除它
(8)gerp [选项] 字符串 文件名:字符串搜索命令
-i 忽略大小写
-v 排除指定字符串
例如:grep "a" a.txt --查询a.txt文件中的a字符串
grep -iv "a" a.txt --查询a.txt文件中不包含a字符串
三、文件帮助命令 man
格式:man [选项] 命令名
1.基本的:man ls --查看ls命令的帮助文档
ps:使用 / -命令查看对应的信息
例如:/ -h --查看-h对应的信息
2.查看man的帮助级别:man -f 命令名,相对应whatis
例如:man -f ls --查看ls的帮助级别,等同于whatis
3.按帮助级别查看帮助:man -帮助级别 命令名
例如:man -1 ls -- 查看级别1的ls命令的帮助
4.查看和命令相关的所有命令:man -k 命令
ps:apropos 和man -k 用法一样
例如:man -k ls --查看所有和ls有关的命令
5.其他帮助命令
(1)help命令 : 命令 --help
例如:ls --help --查看ls的帮助并退出命令
(2)内部命令:help 命令
例如:help cd --查看cd命令的帮助文档
(3)详细信息命令:info 命令
例如:info ls --列出ls命令的详细命令
ps:info中 -回车:进入子帮助页面(带*号的)
-u:进入上层
-n:进入下一个帮助小节
-p:进入上一个帮助小节
-q:退出
四、压缩与解压缩命令
1.zip格式:
(1)压缩命令:zip 压缩文件夹名 源文件
-r:压缩文件
例如:zip jp.zip jp --压缩文件夹jp并命名为jp.zip
zip -r a.zip a.txt --压缩文件a.txt命名为a.zip
(2)解压命令:unzip 文件名
例如:unzip a.zip --解压a.zip文件
2.gzip格式:.gz格式的压缩源文件会消失
(1)压缩命令:gzip 源文件名
例如:gzip a.txt --压缩a.txt并输出a.txt,压缩文件命名为 a.txt.gz
ps: 如果想不消失源文件可以用 -c 打印压缩内容,再用>写入文件中
例如:gzip -c a.txt > a.gz --把a.txt文件压缩后写入a.gz中
如果想压缩目录可以使用 -r ,但是只能把目录中的子文件压缩,目录本身不能被压缩
(2)解压命令:gzip -d 文件名 或者 gunzip 文件名
例如:gzip -d a.gz --解压a.gz文件和gunzip a.gz 一样
如果想要解压目录,使用 gzip -dr 文件目录 ,解压压缩的目录
3.bz2格式:.bz2格式的压缩源文件也会消失
(1)压缩命令:bzip2 源文件 (不支持压缩目录)
例如:bzip2 a.txt --压缩a.txt并删除源文件
ps:如果想保存源文件使用 -k
例如:bzip2 -k a.txt --压缩a.txt并保存源文件
(2)解压命令: bzip2 -d 压缩文件 或者bunzip2 压缩文件
例如:bzip2 -d a.txt.bz2 --解压a.txt.bz2并删除源文件和bunzip2 a.txt.bz2 效果一样
ps:如果想要保留源文件也是使用 -k
4.tar.gz格式:.tar:打包文件(常用的)
(1)压缩命令:先打包,再压缩
例如:tar -cvf jp.tar jp --打包jp目录;
gzip jp.tar --压缩jp.tar文件包
(2)解压命令:先解压压缩包,再解压打包
例如:gzip -d jp.tar.gz --解压jp.tar.gz压缩包,得到jp.tar打包文件
tar -xvf jp.tar --解包jp.tar,得到文件目录
ps:
<1>tar格式的文件可以打包成任意格式的压缩包。
<2>tar.gz格式的压缩可以直接压缩,使用 :tar -zcvf 压缩包名.tar.gz 源文件名 格式
例如:tar -zcvf jp.tar.gz jp --直接把目录jp压缩为.tar.gz格式的压缩包
tar -zxvf jp.tar.gz --解压.tar.gz格式的压缩包
<3>tar.bz2格式的压缩也可以直接压缩,使用:tar -jcvf 压缩包名.tar.bz2 源文件名 格式
例如:tar -jcvf jp.tar.bz2 jp --直接把目录jp压缩为.tar.bz2格式的压缩包
tar -jxvf jp.tar.bz2 --解压.tar.bz2格式的压缩包
<4>多文件压缩:只要把文件跟在后面即可
例如:tar -jcvf jpa.tar.bz2 jp a.txt --把jp目录和a.txt文件压缩成jpa.tar.bz2压缩包
ps:也可以指定压缩到那个目录下,只要在文件名前加一个目录名即可
例如:tar -jcvf /home/jpa.tar.bz2 jp a.txt --把jp目录和a.txt文件压缩成jpa.tar.bz2压缩包并保存到home文件夹下面
<5>解压到指定位置:-C 目录
例如: tar -jxvf jp.tar.bz2 -C /home/ --把文件jp压缩为.tar.bz2格式的压缩包,并放到home文件夹下面
<6>查看压缩包:tar -ztvf 压缩包名 (查看.tar.gz格式的压缩包)
tar -jtvf 压缩包名 (查看.tar.bz2格式的压缩包)
例如:tar -ztvf jp.tar.gz --查看jp.tar.gz压缩包下的目录
tar -jtvf jp.tar.bz2 --查看jp.tar.bz2压缩包下的目录
五、关机和重启命令
1.shutdown命令 :shutdown [选项] 时间
-h:关机
-r:重启
-c:清除上一个命令
例如: shutdown -h now --表示现在关机
shutdown -r 05:20 --表示在林晨5:20分重启(注意:这样会使终端卡住,一直到重启为止,我们需要把它放到后台去,在时间后面加上 & 符号即可)
shutdown -c --终止关机或者重启命令
2.其他的关机命令(注意,远程服务器一般不要关机,直接重启即可)
halt:命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。
poweroff:命令用来关闭计算机操作系统并且切断系统电源。
init 0 :使用系统的运行级别来关机
3.其他的重启命令:
reboot:命令用来重新启动正在运行的Linux操作系统。
init 6:使用系统的运行级别来重启。
ps:系统的运行级别
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式(安全模式)
# 2 - 多用户,没有 NFS(没有共享服务的)
# 3 - 完全多用户模式(标准的运行级-字符界面:推荐的)
# 4 - 没有用到
# 5 - X11 (xwindow图形界面)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
我们可以用 init 来切换运行级别。例如:init 5 --进入图形界面 ; init 3 --进入字符界面
4.退出登录命令:
logout:用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应。
exit:退出控制台,对于多层shell,用于逐层退出,到最顶层shell,作用就和logout相同。
六、其他常用命令
1.挂载命令:mount (一般只有实体机的linux操作系统才用得到,服务器等一般通过网络传输)
-l:显示已加载的文件系统列表和不写一样;
-a:自动挂载分区
格式:mount [ -t 文件系统] [-o特殊选项] 设备文件名 挂载点
挂载光盘的步骤:
(1)创建挂载目录:mkdir /mnt/cdrom
(2)挂载光盘:mount /dev/sr0 /mnt/cdrom(光盘的默认文件系统-t为iso9660,所以可以省略)
(3)访问光盘:cd /mnt/cdrom 进入挂载点即可访问光盘里的数据
挂载u盘的步骤:(因为U盘是和硬盘一样,所以我们需要用 fdisk -l 找到他的设备名,这里我们假设U盘的设备名为sdb1)
(1)创建挂载目录:mkdir /mnt/usb
(2)挂载U盘:mount -t vfat /dev/sdb1 /mnt/usb(linux不支持ntfs文件系统)
(3)访问U盘:cd /mnt/usb
2.卸载命令:umount 设备名或者文件挂载点
例如:umount /mnt/cdrom
3. w:用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。
4. who:列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。
5. last:用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
6. lastlog:用于显示系统中所有用户最近一次登录信息。
7.数据库更新命令:updatedb
8.查看环境变量:echo $PATH
9.查看ip:ifconfig
常见一级目录
/ 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件等
/dev 存放设备文件
/etc 存放系统的配置文件
/home 用户文件的主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件的目录
/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。
/var 包含系统产生的经常变化的文件
快捷键:
ctrl + L --清屏
以上是关于linux命令学习记录的主要内容,如果未能解决你的问题,请参考以下文章