常用命令记录
1.统计文件个数# 统计某个目录下所有文件(包括文件和目录)个数# wc命令默认会输出行数、字数(单词数)、字节数ls -l | wc -l# 统计某个目录下所有文件夹个数ls -l | grep "^d" | wc -l# 统计某个目录下所有文件个数ls -l | grep "^-" | wc -l2.文件目录大小# 查看当前目录总大小du -sh# 查看当前目录下所有文件大小du -h# 查看当前目录下所有目录的大小du -lh --max-depth=13.挂载# 查看各个盘挂载情况(包括文件系统类型以及人性化显示)df -Th4.终端重定向到文件# 将命令在终端的输出信息(包括报错信息)写入log.txt中,且终端不会再显示。>>表示追加写,>表示覆盖写,一般会多次写使用>>,2>&1是固定写法ls -l >> log.txt 2>&15.后台运行命令,终端关闭也不影响。显示输出到文件nohup python test.py >> log.txt 2>&1 &
分区挂载
1、主分区,扩展分区扩展分区最多有1个,主分区加扩展分区最多有4个扩展分区的作用是在其中包含更多的逻辑分区逻辑分区只能从5开始,1234只能给主分区或扩展分区使用2、格式化格式化就是写入文件系统3、linux分区linux必须分区包括根分区/和swap分区(交换分区,内存2倍,真实内存够大就相等,相当于虚拟内存),推荐分区有/boot(启动分区,200MB)
文件处理命令
//ls命令-l显示详细信息-a显示所有文件,包括隐藏文件-d显示目录属性-h人性化显示文件大小-i显示inodell等于ls -l//第一个-表示文件类型,-表示普通文件,d表示目录,l表示链接文件//后面9个三个一组,u所有者,g所属组,o其他人//r可读,w可写,x可执行-rw-r--r--//递归创建目录mkdir -p //cd用法cd || cd ~ 进入当前用户的家目录cd - 进入上次目录cd .. 进入上一级目录cd . 进入当前目录Tab+Tab显示当前目录所有文件//rm删除文件rm -rf强制删除所有文件和目录rmdir删除空目录,用得少//cp复制文件-r复制目录-p连带文件属性复制-d复制链接属性-a相当于pdrcp 1 2普通复制,如果2是目录,则按原名复制;如果2是文件,则按新名复制 cp -a 1 2保持源文件属性复制,包括时间,链接等等//根目录下各目录作用/bin || /usr/bin保存系统命令/sbin || /usr/sbin保存系统命令(管理员可使用)/boot启动目录/dev保存特殊文件,硬件文件/etc保存配置文件/home保存各用户文件/root管理员的目录/lib函数库/media、/mnt、/misc外部设备挂载目录/proc、/sys内存挂载,别乱动/usr系统软件资源目录/var系统相关文档目录/tmp临时目录//链接命令ln -s 源文件 目标文件-s表示创建软链接**硬链接**(相当于复制了一模一样的文件)1、拥有相同的i节点和存储block块,可以看做是同一个文件2、可通过i节点识别3、不能跨分区4、不能针对目录使用5、源文件删了不影响硬链接使用**软链接**(相当于创建了一个快捷方式)1、和windows快捷方式一模一样2、拥有自己的i节点和block块,但是数据块中只保存源文件的i节点和文件名,没有实际文件数据3、删除源文件,软链接不能使用4、创建软链接源文件必须写绝对路径
文件搜索命令
//locate命令,这个是在后台数据库中搜索,新创建的文件要更新数据库后才能搜索到(/etc/updatedb.conf中记录了哪些文件系统/文件类型/路径不搜索)locate 文件名//whereis 搜索命令所在路径以及帮助文档的位置//which 搜索命令所在路径以及别名//find命令find 路径 -name通配符:*(任意多个内容),?(任意一个),[](中括号内任意一个)-iname不区分大小写-user按照所有者搜索-nouser查找没有所有者的文件find 路径 -mtime +10-1010天内修改的文件1010天当天修改的文件+1010天前修改的文件-mtime修改文件内容-ctime改变文件属性-atime文件访问时间-size文件大小(k,M)-inum按照i节点搜索-a 逻辑与-o逻辑或-exec 命令 {} \; 对find结果执行命令//grep命令,搜索文件中包含字符串的行-i 不区分大小写-v排除某字符串find:在系统中搜索符合条件的文件名(通配符完全匹配)grep:在文件中搜索符合条件的字符串(正则表达式包含 匹配)
帮助命令
1、manman 命令man -f 命令查看命令拥有哪个级别的帮助2、--help,helpls --helphelp shell内部命令3、infoinfo ls
压缩命令
//.zip文件zip 压缩文件 源文件zip -r 压缩文件 目录unzip 压缩文件//解压//.gz文件gzip 源文件(源文件会消失)gzip -c 源文件 > 压缩文件gzip -r 目录//压缩目录下所有子文件,不能压缩目录gzip -d 压缩文件//解压gunzip 压缩文件//解压//.bz2文件bzip2 源文件(源文件会消失)bzip2 -k 源文件(保留源文件)bzip2不能压缩目录bzip2 -d 压缩文件//解压bunzip2 压缩文件//解压//.tar.gz文件压缩:tar -zcvf 压缩包名.tar.gz 源文件解压:tar -zxvf 压缩包名.tar.gz//.tar.bz2文件压缩:tar -jcvf 压缩包名.tar.bz2 源文件解压:tar -jxvf 压缩包名.tar.bz2
关机与重启命令
shutdown -r 时间//指定时间关机shutdown -h//关机shutdown -c//取消上一次的关机指定//关机,用的少haltpoweroffinit 0//重启reboot//常用重启命令init 6//共7个级别//退出登录logout
挂载命令
1、查询与自动挂载mount//查询系统中已经挂载的设备mount -a//根据配置文件/etc/fastab的内容自动挂载2、挂载命令格式mount [-t 文件系统] [-o 特殊选项] 设备文件名 挂载点-o选项用的少-t通常可以不写,除非需要指定3、挂载光盘mkdir /mnt/cdrom/mount -t iso9660 /dev/sr0 /mnt/cdrom/4、卸载命令umount 设备文件名或挂载点5、挂载U盘fdisk -l//查看U盘设备文件名mount -t vfat /dev/sdb1 /mnt/usb/(有图形界面则不需要挂载,自动识别)
用户登录查看命令
1、查看用户登录信息w who2、查看当前登录和过去登录的用户信息last3、查看所有用户最后一次登录的时间lastlog
Shell概述
Shell是linux的命令解释器,分类有Bourne Shell和C shell,目前linux使用最多的是Bash。1、echo输出命令echo "字符串"-e //反斜杠控制特殊符号(\n \t \b)"\e[1;34m 字符串 \e[0m"//输出颜色2、基本脚本#!/bin/bash#第一个脚本echo "hello world!"3、执行方式chmod 755 hello.sh./hello.sh或bash hello.sh(不需要赋权限)
Bash基本功能
1、命令别名alias #查看系统中所有的命令别名alias 别名='原命令'#设定命令别名如果要别名永久生效,就要修改环境变量配置文件然后source ./bashrcunalias 别名#临时删除别名,永久删除也需要改环境变量配置文件别名的优先级高于Bash内部命令和$PATH路径下的命令2、快捷键ctrl+c:强制终止当前命令ctrl+l:清屏ctrl+a:光标移动到命令行首ctrl+e:光标移动到命令行尾ctrl+u:从光标所在位置删除到行首ctrl+z:把命令放入后台ctrl+r:在历史命令中搜索3、历史命令保存条数可以在/etc/profile中修改HISTSIZE!!#重新执行上一条命令!字符串#重新执行上一条以字符串开头的命令4、补全Tab#按一次直接补全,按两次列出所有可能5、输出重定向命令 > 文件# 以覆盖的方式,命令输出写入文件命令 >> 文件# 以追加的方式,命令输出写入文件错误命令 2>文件# 以覆盖的方式,命令错误输出写入文件(>左右没空格)错误命令 2>>文件# 以追加的方式,命令错误输出写入文件正确错误命令输出同时写入:命令 > 文件 2>&1命令 >> 文件 2>&1命令 &>文件命令 &>>文件命令 >> 文件1 2>>文件2# 正确输出到文件1,错误输出到文件26、输入重定向(用的很少)wc [选项] [文件名]-c统计字符数-w统计单词数-l统计行数wc < 文件#也可以不加<,统计文件的字符数、单词数、行数7、管道符1)多命令顺序执行命令1;命令2#多个命令顺序执行,1报错不影响2执行命令1&&命令2#逻辑与,只有命令1正确执行,命令2才执行命令1||命令2#逻辑或,只有命令1执行不正确,命令2才执行2)管道符命令1 | 命令2#命令1的输出结果作为命令2的操作对象ls /etc/ | more# 首先查询etc目录下所有文件信息,再通过more命令分屏显示这些信息netstat -an | grep "ESTABLISHED" | wc -l#首先通过netstat查询当前端口占用信息,然后在其结果中查找有"ESTABLISHED"的行数据,再统计这些数据的行数并输出8、通配符1)通配符?#匹配一个任意字符*#匹配任何内容[]#匹配括号内任意一个字符[-]#-代表一个范围[^]#匹配不是中括号内的一个字符2)特殊符号' '#单引号中所有特殊符号例如"$"和"`"都没有特殊含义" "#双引号中"$"、"`"、"\"有特殊含义,表示“拥有变量的值”、“引用命令”和“转义符”` `#反引号括起来的内容是系统命令$()#同反引号,推荐使用##注释$#调用变量的值\#转义符,跟在\之后的特殊符号将失去作用