1)基本常用命令
来源:互联网 发布:淘宝处理不公平 编辑:程序博客网 时间:2024/05/01 10:28
=========================一: 基本命令格式和文件处理命令:=======================
ls [选项] [文件或目录]
-a 显示所有文件,包括隐藏文件(相当于–all)
-l 显示详细信息
-d 查看目录属性
-h 人性化显示文件大小
-i 显示inode
//(ll就是ls -l)
//不过不同版本系统可能稍有差别
linux中不是以扩展名来区分文件类型的,不像windows,而是以文件权限来区分的
-rw-r–r–
- 文件类型(- 文件 d 目录 l 软链接文件(及快捷方式))
rw- r– r–
u所有者 g所属组 o其他人
r读 w写 x执行
//上面只列出了三种文件类型,一共有7种类型,其他四种分别是:// 块设备文件,字符设备文件,套接字文件和管道文件//这四种文件不需要普通用户操作,知道即可
1: 目录处理命令
1)建立目录:mkdir(make directories) //创建一个空文件用touch
mkdir -p [目录名]
-p 递归创建
ep: mkdir lanbo
这样就创建了一个lanbo文件夹,但是如果我想把创建的lanbo文件夹放在favorite文件夹下呢?那么这就是递归创建了
ep:mkdir -p favorite/lanbo 这样创建了两个目录,favotite和在此目录下的lanbo目录
ep:mkdir -p favorite/lanbo 创建了一个包含lanbo目录的favorite目录
2)切换目录:cd [目录] (change directoty)cd ~ 进入当前用户家目录(直接cd也是这样)cd - 进入上次所在目录cd .. 进入上一级目录cd . 进入当前目录(这条命令其实就是进入当前目录,没什么影响,但这条命令是可以运行的) pwd 打印当前所在目录 3)(只能)删除空的目录:rmdir(remove empty directories)(不过一般不这么做)rmdir [目录名]删除文件或目录:rmrm -rf [文件或目录] 选项: -r 删除目录 -f 强制补充:rm -rf /temp/* 加×代表删除temp目录下的所有文件rm -rf /temp/ 不加表示删除temp整个目录习惯上,不管是目录还是文件,都用rm -rf 4)复制命令;cpcp [选项] [源文件诺目录][目标目录]选项:-r 复制目录-p 连带文件属性复制-d 若源文件是链接文件,则复制链接属性-a 相当于-pdr(这样目标文件和源文件一模一样,完全一样)ep:cp japan /tmp/ 后面没加文件名,就是原名复制cp japan /tmp/japan1 这样就是改名复制(date命令显示系统时间) 5)剪切命令mv [源文件] [目标目录] (不用加-r) 要改名的话mv file file2这样就行了
2: 文件处理命令
vi(或者vim) 可以打开文件
3:链接命令
ln - [源文件] [目标文件]
选项:-s 创建软链接
硬链接特征(不佳):
1)拥有相同的i节点和存储block块,可以看作是同一个文件
2)可通过i节点识别
3)不能跨分区
4)不能针对目录使用
软链接特征:(如果要创建软链接,一定写绝对路径(除非源文件和软链接在同一目录),而硬链接不用)1)类似于windows的快捷方式2)软链接拥有自己的i节点的block块,但是数据块中只保存原文件的文件名和i节点号,并没有实际的文件数据3)lrwxrwxrwx l表示软链接 软链接文件权限都为rwxrwxrwx (其实真正的权限还得看源文件)4)修改任意文件,另一个都改变5)删除原文件,软链接文件不可用 做了下实验,比如新建一个文件a,写一些内容,然后创建一个a的软链接sa,cat a和cat sa是一样打,删除a后软链接就不可用了,但是如果再新建一个文件 夹,命名为a,输入不同的内容,结果cat sa后显示的是第二次的内容,就算没有删除原先的a,而是将其命名为aa,sa仍然是a(后来的)的软链接,即是通过文件 而不是i节点
4:常见目录的作用
/根目录
/bin命令保存目录(普通用户就可以读取的命令)
根目录和usr目录下的bin,sbin,这四个目录都是用来把保存系统命令的,区别是两个bin目录普通用户都可以执行
而sbin只有root下的超级用户才可以执行,Linux就是以这样的方式来区分权限的
/boot启动目录,启动相关文件
/dev设备文件保存目录 //没事别去动它
/etc配置文件保存目录
/home普通用户的家目录
/root超级用户的家目录
/lib系统库保存目录
/mnt系统挂载目录
/media系统挂载目录
/tmp 临时目录
/sbin命令保存目录(超级用户才能用的目录)
/proc直接写入内存的
/sys sys和proc这两个目录不要对它进行操作
/usr系统软件资源目录
/usr/bin/系统命令(普通用户)
/usr/sbin/系统命令(超级用户)
/var系统相关文档内容
/目录下的media,misc,mnt都是空目录,可以用来挂载cd,usb等设备,不过习惯于在mnt下创建cd,usb目录,其他两个不用,老式linux里只有mnt
这个目录,没有media和misc,当然随便你怎么用
!!!linux是一个严谨的内容,不是所有的目录下都可以随便存放内容的,可以在家目录root或home,以及tmp目录下随意存放内容
=========================二: 文件搜索命令=======================
1)文件搜索命令locate(优点:速度非常快)
touch可以新建文件
格式: touch cangls
这样就在当前目录新建了一个名为cangls的文件
locate命令格式 locate 文件名 .在后台数据库按文件名搜素,搜索速度更快 /var/lib/mlocate .locate命令所搜索的后台数据库 update 更新数据库 !当新建一个文件,比如touch cangls 然后locate cangls 结果是找不到这个文件的,因为数据库基本一天更新一次,所以一天后就可以找到了,难道`只有等一天吗? 其实可以更新数据库的,执行updatedb命令就更新了,然后就可以找到新建的文件了 如果不记得数据库目录在哪,可以locata locate,根据不同的版本,目录名可能不同,我的这个在/var/lib/mlocate 缺点:只能搜索文件名,功能单一 相比find(耗费资源多,慢,但功能强大),耗费资源少, !!locate有一个很有意思的地方 当在/root和/tmp目录下都新建一个文件cangls时,然后updatedb,用locate只能找到/root下的cangls因为locate是按照/etc/updatedb.conf配置文件来搜索的 prune 删除,减少 PRUNE——BIND——MOUNTS="YES" #开启搜索限制 PRUNEFS= #搜索时,不搜索的文件系统 PRUNENAMES= #搜索时,不搜索的文件类型 PRUNEPATHS= #搜索时,不搜索的路径(/tmp)在这个目录下 所以上面只搜索到了/root目录下的cangls,可以打开updated.conf配置文件
2)命令搜索命令whereis和which
a:whereis 命令名 //只能搜索系统命令,不能搜索自己创建的命令
#搜索命令所在路径及帮助文档所在位置
选项:
-b:只查找可执行文件
-m:只查找可帮助文件
whoanmi 可以知道自己是什么用户
whatis ls 就可以知道ls是干嘛的
b:which 文件名(和whereis非常相似,只是多了可以查看别名的功能,比如ll,不过不能看帮助文档(不知道是不是系统原因,我的 系统上不可以看到别名)) #搜索命令所在路径及别名 但不是所有的命令都可以找到目录的,比如cd命令,因为是shell自带的ps:其实我们使用的命令都是在某个目录下,要使用某条命令比如ls,是要输入绝对路径的,不然直接输入ls会提示找不到ls,卧曹, 那这样岂不是很麻烦,为此,我们可以配置环境变量,这些命令的环境变量都是配置好了的,所以我们可以直接输入ls就就以了, 可以用echo $PATH查看配置的环境变量 PATH环境变量:定义的是系统搜索命令的路径
3) find命令
find [搜索范围] [搜索条件]
#搜索文件
find / -name install.log //在/目录下按照文件名搜索,搜索文件名为”install.log”的文件
执行此命令会非常慢,系统压力很大,因为在整个根目录下搜索
#所以使用find时要避免大范围搜索,会非常耗费系统资源
#find是在系统当中搜索符合条件的文件名(必须文件名一模一样才会搜索到),如果需要匹配,使用通配符匹配,通配符是完全匹配
linux中的通配符× 匹配任意内容 find /root -name “install.loh*” 用引号括起来find /root -name “*” 这样就是列出当前目录下所有文件,包括隐藏文件? 匹配任意一个字符[] 匹配任意一个中括号内的字符 find /root -name “ab[cd]” 就是搜索abc文件或者abd文件 find /root -iname install.log iname就是不区分大小写 find /root -user root -user 按照所有者搜索 find /root -nouser -nouser 查找没有所有者的文件 //linux中,没有所有者打文件就是垃圾文件,所以一般找到这些文件后都可以手动删除,不过需要注意两种情况 //1: 由内核产生的文件(该文件直接由内核调用而不经过系统目录)有可能没有所有者: // 比如/目录下打proc和sys这两个目录,这两个目录是内存打挂载点,内核有可能在这两个目录中进行交互,所以如果在这两个目录下找到了没有所 // 有者的文件,是正常打,不要去删除 //2:外来文件: // 比如u盘(光盘等)拷贝一个windows系统中的文件,然后拷贝到linux中,因为windows忽略啦所有者(并不是没有)这一概念,所以这些文件也是 // 没有所有者的 除了这两种情况之外,其他的所有没有所有者的文件都是垃圾文件 find /var/log/ -mtime +10 #查找10天前修改的文件 -10 10天内修改文件 10 10天当天修改文件 +10 10天前修改文件 atime 文件访问时间 ctime 改变文件属性 mtime 修改为文件内容 find . -size 25k .就表示在当前目录 也可以找大小为兆字节的文件,注意的是,千字节要小写的k,而兆字节要大写的M,不然会报错 如果不带单位,直接find . -size 25 就是搜索25个扇区大小的文件,就是25*512字节大小,所以基本都带单位 #查找文件大小为25kb的文件 -25 小于25kb的文件 25kb 等于25kb的文件 +25 大于25kb的文件 find . -inum 262422 #查找i节点是262422的文件 find /etc -size +20k -a -size -50k #查找/etc目录下,大于20k小于50k的文件 -a and 逻辑与, -o or 逻辑或 find /etc -size +20k -a -size -50k -exec ls -lh {} \; #查找/etc/目录下,大于20k并小于50k的文件,并人性化显示详细信息 #-exec/-ok 命令 {} \;对搜索结果执行操作 只要用了-exec就必须在后面加{} \; 如果-exec后接rm -rf,那么就是把找到的文件删除
4) 字符串搜索命令 grep
grep [选项] 字符串 文件名
#在文件当中匹配符合条件的字符串
选项:
-i 忽略大小写
-v 排除制定字符串(即搜索不包含指定字符串打字符串)
#find命令和grep命令的区别:
*find命令:在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
×grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式是包含匹配
//===========================================三:帮助命令=======================================================
1) 帮助命令man
man 命令
# 获取指定命令的帮助
ex: man ls
#查看ls的帮助
man的级别: 1:查看命令的帮助 2:查看可被内核调用的函数的帮助 3:查看函数和函数库的帮助 4:查看特殊文件的帮助(主要是/dev目录下的文件) 5:查看配置文件的帮助 6:查看游戏的帮助 7:查看其他杂项的帮助 8:查看系统管理员可用命令的帮助 9:查看和内核相关文件的帮助#查看命令拥有哪个级别的帮助. man -f 命令 相当于:. whatis 命令#知道了命令拥有哪些等级的帮助后,可以查看相应等级的帮助例如: man 5 passwd man 4 null man 8 ifconfig# 查看和命令相关的所有帮助(只要帮助文档里有该名令的关键字,就会列出来). man -k 命令相当于:. aprops 命令比如忘记了chpasswd命令,不记得怎么写,可以man -k passwd,会在列出的里面看到chpasswd2) 其他帮助命令 1:第一种: 选项帮助 . 命令 --help *获取命令项的帮助 例如:ls --help2:第二种:shell内部命令帮助 . help shell内部命令 ×获取shell内部命令的帮助 例如 . whereis cd #确定是否是shell内部命令 . help cd #获取内部命令帮助3:详细命令帮助info(知道就好,太麻烦) . info 命令 - 回车 进入子帮助页面(带有*号标记) - u 进入上层页面 - n 进入下一个帮助小节 - p 进入下一个帮助小节 - q 退出
//===========================================三:压缩与解压缩命令=======================================================
常用压缩格式: .zip .gz .bz2 .tar.gz .tar.bz21: .zip格式压缩(这种格式和windows是通用的) zip 压缩文件名 源文件 #压缩文件 zip -r 压缩文件名 源目录 #压缩目录 .zip格式解压缩 uzip 压缩文件 #解压缩.zip文件2: .gz格式压缩 . gzip 源文件 #压缩.gz格式的压缩文件,源文件会消失 gzip -c 源文件 > 压缩文件 //<就是将命令的结果写入后面的文件,比如touch a然后ls > a,就是将 #压缩为.gz格式的压缩文件,源文件保留 //ls显示的信息写入a中 //这样就做到了压缩原文件而源文件不消失的效果 gzip -r 目录(目录不会发生变化,里面文件会压缩) #压缩目录下所有子文件,但是不能压缩目录 .gz格式解压缩(解压缩目录就加-r) . gzip -d 压缩文件 #解压缩文件 .gunzip 压缩文件 #解压缩文件3: .bz2格式压缩 .bzip2 源文件 #压缩.bz2格式,不保留源文件 .bzip2 -k 源文件 #压缩之后保留源文件 !!注意,bzip2命令不能压缩目录 . bz2格式解压缩 bzip2 -d 压缩文件 #解压缩,-k保留压缩文件 bunzip2 压缩文件 #解压缩,-k保留压缩文件4:打包命令tar . tar -cvf 打包文件名 原文件 . 选项: -c: 打包 -v: 显示过程 -f: 指定打包后的文件名 ex:(jp文件夹里面有a,b两个文件) tar -cvf jp.tar jp //这样就会有一个打包好的jp.tar文件 gzip jp.tar //然后再压缩为gzip格式(或者bzip2格式),这样就解决了不能压缩目录的问题 解打包命令 . tar -xvf 打包文件名 . 选项: -x 解打包//如果每次都要打包,再压缩,那岂不是太麻烦了,所以就有.tar.gz和.tar.bz2这两种格式5: .tar.gz压缩格式 . 其实.tar.gz格式是先打包为tar格式,再压缩为.gz格式 . tar -zcvf 压缩包名.tar.gz 原文件 //默认压缩在当前路径,后面可以加上文件从而压缩多个文件 . 选项: -z: 压缩为.tar.gz格式 . tar -zxvf 压缩包名.tar.gz . 选项: -x: 解压缩.tar.gz格式6: .tar.bz2压缩格式 . tar -jcvf 压缩包名.tar.bz2 原文件 //默认压缩在当前路径,后面可以加上文件从而压缩多个文件 . 选项: -j: 压缩为.tar.bz2格式 . tar -jxvf 压缩包名.tar.bz2 . 选项: -x: 解压缩.tar.bz2格式.如果要将.tar.gz和.tar.bz2格式解压缩到指定位置,后面加-C 位置 //C是大写 . 也可以查看内容,不解压缩 -t 查看内容,不解压缩(test,相当于测试一下) ep: tar -jtvf 压缩包名.tar.bz2 //就会看到压缩包里面的文件
//===========================================三:关机和重启命令=======================================================
1: shutdown命令(这条命令在关机之前会保存数据,比较安全)
. shutdown [选项] [时间] 选项: -c 取消前一个关机命令 -h 关机 -r 重启ep: shutdown -h 06:20 //按下回车后终端会卡住(当然以实际情况为准,不同系统会不同),直到到了06:20后自动关机,可以按Ctrl+c中断命令 //如果想让命令后台执行,后面加个& (shutdown -h 06:20 &)时间如果是now就是马上,比如:shutdown -h nowdata可以显示时间
2: 其他关机命令
. halt
. poweroff
. init 0
//这三个命令都不是太安全,不会像shutdown一样在服务器关机和重启时正确保存数据,知道就好
3: 其他重启命令
. reboot //如果不想敲长的shutdown -h now,可以用reboot
. init 6 //尽量不要用
4: 系统运行级别
.0 关机
.1 单用户 //可以想象成windows的安全模式
.2 不完全多用户,不含NFS服务
.3 完全多用户 //字符界面
.4 未分配
.5 图形界面
.6 重启
. runlevel #查询系统运行级别 执行该命令后,出现了N 5 N代表NULL,第一个代表进入当前级别之前在哪个级别,第二个是当前所在级别,5是图形界面,N表示之前是"空的",所以这就表示系统一开机就进入了图形界面,想想,如果既装了字符界面又装了图形界面,那么开机默认是进入哪个级别呢?可以查看配置文件,cat/etc/inittab,不过我的系统不在这里
5:退出登录命令logout
//===========================================四:其他常用命令=======================================================
1:挂载命令
挂载: 在linu中所有的存储设备(u盘,光盘,硬盘等),必须在挂载之后才能正常使用
1): 查询与自动挂载 . mount #查询系统中已经挂载的设备 . mount -a #根据配置文件/etc/fstab的内容,自动挂载2):命令挂载格式 . mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点 选项: -t 文件系统:加入文件系统类型来指定挂载的类型,可以ext3,ext4,iso9660等文件系统 -o 特殊选项:可以指定挂载的额外选项 //选项参数看图片 可以创建一个脚本文件:touch hello.sh 然后用vim编写脚本,内容是: #!/bin/bash //必须这样开头 echo "Hello shell" //输出一段信息 然后给权限: chmod 755 hello.sh 就生成了一个可执行的脚本文件,./hello.sh就可以执行了 mount -o remount,noexec /home //remount表示重新挂载,使选项生效,noexec表示不执行, //挂载到home分区(我实验时挂载到home分区失败,所以就挂载到根分区,成功了,结果/下命令都执行不了了,除了自带的cd命令) 不要轻易修改!!!否则就是自己给自己挖坑,这时候就算是root,可执行文件也不可执行,万一挂载的是/目录,那就惨了,命令都执行不了了,重装系统吧 注意一下,这里直接写home,没有写设备文件名也是可以的,因为home分区已经自动挂载好了3):挂载光盘 mkdir /mnt/cdroom #建立挂载点 mount -t iso9660 /dev/cdrom /mnt/cdrom/ #挂载光盘 //光盘的文件系统就是iso9660,没什么好说的,设备名可以写/dev/sr0(dev/cdrom是dev/sr0的快捷方式,即软连接,需要系统完全启动之后才会起作用,因此建议写 ///dev/sr0) -t iso9660也是可以省略的 挂载光盘后,可能会出现: /dev/sr0 is write-protected, mounting read-only 这不是报错,因为挂载后默认是读写的,而光盘是只读的,这里被迫挂载为只读,所以会有提示,挂载并没有失败 windows中光盘要取出来,直接按键就弹出了,不过linux中,要先卸载光盘,不然再怎么按也弹不出来(其实windows也一样,只不过可以取出来,数据可能丢失而已,而 linux更严谨,直接无法弹出)4):卸载命令 umount 设备文件名或挂载点 umount /mnt/cdrom5): 挂载u盘 fdisk -l # 查看u盘设备文件名 mount -t vfat /dev/sdb1 /mnt/usb/ //插入u盘后,执行fdisk -l就会看到u盘设备文件名,一般来说是sdb1,以实际为准 //上面的vfat文件系统相当于windows的fat32系统(这种系统基本淘汰,因为不支持单个文件大小超过4g),这里就是指定u盘的文件系统为fat32 注意:Linux默认是不支持NTFS文件系统的,所以,移动硬盘是不能直接在linux中挂载的,要想挂载,两种方法: 1:重新编译linux内核,使得支持NTFS文件系统 2:下载NTFS-3g,安装,之后就默认支持NTFS,不过就算这样也是只读的,linux与windows到底不是一个系统,兼容性不太好,要在linux和windows之间共享文件 一般都是网络传输
2:查看登录用户信息
.w 用户名# 命令输出: USER:登录的用户名 TTY:登录终端 FROM: 从哪个IP地址登录 LOGIN@: 登录时间 IDLE: 用户闲置时间 JCPU: 指的是和该终端连接的所有进程占用的时间,这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间 PCPU:是指当前进程所占用的时间 WHAT:当前正在运行的命令. who 用户名 # 命令输出: - 用户名 - 登录终端 - 登录时间(登录来源IP地址). last //查询当前登录和过去登录的所有用户信息 # last命令默认是读取/var/log/wtmp文件数据 # 命令输出 - 用户名 - 登录终端 - 登录IP - 登录时间 - 退出时间(在线时间). lastlog //查看所有用户的最后一次登录时间 # lastlog命令默认是读取/var/log/lastlog的文件内容 # 命令输出: - 用户名 - 登录终端 - 登录IP - 最后一次登录时间
- 1)基本常用命令
- CVS常用命令(1) -- 基本
- 基本常用命令
- 1.基本常用命令
- Vlan的基本常用命令
- linux基本常用命令
- Linux基本常用命令
- Linux基本常用命令
- Linux基本常用命令
- linux基本常用命令
- Linux基本常用命令
- Linux基本常用命令
- Linux常用命令 基本介绍
- linux基本常用命令
- Linux基本常用命令
- ovs常用命令(基本)
- vi 基本常用命令
- linux基本常用命令
- oc 元类 元数据
- 关键字自动化-方法执行
- [从头学数学] 第209节 带着计算机去高考(一)
- 小区网络利用树莓派对其他电脑实现远程开机(WOL)
- Jenkins -- 设置域账号登录错误导致无法登录
- 1)基本常用命令
- 运动跟踪之均值漂移(MeanShift)算法和Camshift算法(连续自适应的MeanShift)
- 数组——数组中最长连续序列
- python本地版wordCloud字符云生成
- centos7.2配置网络
- SIM900A(GSM模块)学习
- 【深入理解Linux内核】【分页】相关函数或宏
- JAVA多线程和并发基础面试问答
- 输入阻抗、输出阻抗和阻抗匹配