/dev/ha[a-d] IDE硬盘(过时了)
/dev/sd[a-p] U盘,scsi,sata,ssd硬盘(流行)
/dev/cdrom 光盘 CD-ROM
/dev/mouse 鼠标
fdisk -l 显示当前挂载的硬盘设备(其中有一个是/dev/sda1)
df 查看某个设备上还有多少磁盘空间
df -h 以人类可读的格式查看磁盘空间
df -i 查看设备使用的inode索引数量
du 查看某个目录下有没有大文件
du -sh * | sort -nrs 查看当前目录下文件占用空间(按大小降序排列)
sort text1 按照排序输出
sort -n text1 按照数字排序输出
sort -M text1 按照月分排序输出(centos下好用,ubuntu下不好用)
grep f text1 在text1文本里搜索字符f
grep -v f text1 反向搜索f(搜索没有f的行)
grep -n f text1 在搜索结果中加上行号
grep -c f text1 显示搜索到的行数
grep -e f -e d text1 多条件搜索(搜索f和d)
grep [fd] text1 正则匹配搜索
tar -cvf 压缩包的文件名 需要压缩的文件或目录
tar -cvf test.tar mulu/ 创建tar压缩文件
tar -cvf test.tar mulu/ mulu2/ 创建tar压缩文件
tar -xvf test.tar 解压缩tar文件
tar -zxvf test.tar 解压缩gzip压缩过的tar文件
bash_shell
bash 进入子shell(可以多次执行,进入多层子shell)
exit 退出一层子shell
ps --forest 查看进了几层shell(查看子shell)
ps -f 显示ppid父进程
pwd;ls;cd /etc;ls " ; "这个分号可以一次执行多条指令
which ps 寻找指令的文件位置,centos下和ubuntu下执行结果不一样
type cd 也是查看指令是外部指令
type exit
history 记录历史指令(最多存1000条)
/home/your_name/.bash_history 这个文件是记录历史指令的
history -a 将内存里的历史指令写入到上面的文件里
alias -p 显示已经定义好的指令别名
alias li='ls -l;pwd' 定义指令别名:li是自己定义的别名名称,ls -l是指令,定义的指令别名只在本shell中有效
unalias li
printenv 查看全局环境变量
echo $HOME 输出全部变量中的HOME变量
ls $HOME 用HOME变量来执行指令
ls $HOME 就相当于 ls /home/laomeng
set 显示局部环境变量
一般来讲,全局变量都用大写,局部变量都用小写
my_var=jubuBianliang 定义局部变量
my_var='ju bu bian liang' 等号附近不能有空格,如果变量内容有空格,加上双单引号,定义的局部变量,只在本shell进程中有效
my_var1='i m global var'
export my_var1 将变量导入全局变量
bash
echo $my_var1
unset my_var1 删除变量
echo $PATH
PATH=$PATH:/home/your_name 给PATH变量加入新路径
echo $PATH
添加全局path变量:
vim /etc/profile
在最后加上(另起一行)
export JAVA_HOME=/home/laomeng/jdk1.8_u152
export CLASSPATH=JAVA_HOME/lib
保存并退出
然后执行 source /etc/profile
让其不用重启就生效
mytest=(one two three four five) 定义一个数组变量
echo ${mytest[2]} 访问数组变量的第三个元素
echo ${mytest[*]} 输出全部数组
mytest[2]=333 修改数组变量第三个元素的值为333
unset mytest[2] 删除第三个元素
unset mytest 删除整个数组