shell -- unix操作系统
bash -- Linux操作系统
本质: 根据命令的名字, 调用对应的可执行程序
1>. 命令和路径补齐: tab键补齐
2>. 主键盘快捷键:
**1). 历史命令切换:**
历史命令:history
向上遍历:CTRL+p
向下遍历:ctrl+n
**2). 光标移动:**
向左:ctrl+b
向右:ctrl+f
移动到头部:ctrl+a
移动到尾部:ctrl+e
**3). 删除字符:**
删除光标后边的字符:ctrl+d
删除光标前边的字符:ctrl+h 或者 backspace
删除光标前的所有内容:ctrl+u
1>. 根目录:
2>. /bin: binary 存放经常使用的命令
3>. /dev: 设备文件(鼠标键盘等)
4>. /etc:配置文件
5>. /home:用户
6>. /lib:动态链接库 dll
7>. /media:自动挂载外设
8>. /mnt:手动挂载外设
9>. /root:系统管理员目录
10>. /usr:用户软件资源目录 类似win的program file
11>./boot 开机启动项文件等
1>. 绝对路径: 从根目录开始写 /home/itcast/aa
2>. 相对路径: bb 相对于当前的工作目录而言
. -> 当前目录
… -> 当前的上一级目录
- -> 在临近的两个目录直接切换 cd -
3>. itcast@ubuntu:~$
itcast: 当前登录用户
@: at 在
ubuntu: 主机名
~: 用户的家目录(宿主目录)
$: 当前用户为普通用户
#: 超级用户 – root
4>.切换至管理员 sudo su
退出管理员 exit
liuj的宿主目录/家目录 /home/liuj/
1). tree – 必须安装该软件
文件类型根据颜色分类 文件夹是蓝色 黄色 设备文件 白色 普通文件
2). ls 查看当前目录下文件
ls -a 查看全部文件 .文件 具有隐藏属性
ls -l 有详细信息
ls -la 全部文件详细信息
r 表示read w write x do(执行权限)
存储空间 如果是文件 大小为实际大小 目录文件夹 占用固定4096
d 目录 类似快捷方式
cd 情人目录
cd 路径
回家安抚老婆孩子: (三种回家方式,回到根目录)
cd /home/liuj
cd ~
cd
查看我当前是在老婆, 前妻, 还是情人的床上:(查看当前路径)
pwd
一间小屋: mkdir newdir
一套别墅: mkdir dir/dir1/dir2 -p
(加-p之后dir,dir1不存在也可以创建)
cat /PDPC/out.sh
输出文件
touch /PDPC/out.sh
如果文件不存在 创建文件 文件存在 修改文件的时间
rmdir aa
rmdir只能删除空目录(aa必须为空)
rm PDPC -r
删除目录(不可还原)-r表示递归 PDPC文件夹也被删除了
rm -ri PDPC
会有提示 一个一个地删除
touch out.sh
创建新文件
touch hello.c
已存在的文件会修改时间
rm out.sh
cp hello.c tmp
//把helle.c的内容拷贝到tmp文件中,tmp文件不存在就创建,tmp存在就覆盖掉原来的内容
cp -r PDPC newdir
//把PDPC中的文件拷贝到newdir newdir不存在就创建 如果存在的话 就把PDPC的目录一起拷贝到newdir中
cp -r PDPC/* dir/
//只把目录里面的内容拷贝到dir中 不拷贝PDPC文件夹
cat out.sh
//输出out.sh 到屏幕上 文件太长就不适用了more out.sh
//按回车键翻页 一行一行地切换显示 按空格 会显示一屏 只能往后看 按q键或者ctrl+c退出less out.sh
//可以翻页 ctrl+p可以向前看 ctrl+b向后显示 ctrl+b 向前翻页 ctrl+f后翻页 q退出head out.sh
//默认显示前10行内容tail out.sh
//默认后10行ln -s out.sh newname.soft
//把out.sh 创建一个叫newname.soft的快捷方式 没有复制内容 newname.soft移动之后就不能使用了
ln -s /home/liuj/out.sh newname.soft
//移动之后依然可以使用 使用绝对路径(一般使用绝对路径)
ln out.sh newname.soft
//没有发生拷贝 不占用实际的存储空间 硬链接计数加1 对于 out.sh 和 newname.soft都成了2(类似引用)通过inode查找内存位置 修改out.sh后 newnmae.soft也会变化
*ps目录不能创建硬链接
1.文件副本形式存在但不占用空间
2.不可以给目录创建硬链接
3.硬链接只能在同一个文件系统下创建
4.硬链接可以同步更新
mv out.sh PDPC
//把文件移动到目录里
mu out.sh out1.sh
//文件改名字
1>. wc
获取文本文件的信息 行树 单词个数(以空格为准)字节数
2>. od
获取二进制文件的信息
od -t 指定格式 (c ASCII码形式 还有二进制八进制十进制等)
3>. du
查看当前目录的大小 du -h 查看大小
4>. df
查看磁盘使用清空 df -h
5>. which
查看命令所在的目录 如 which cp 结果为ls的位置 /bin/ls
whoami //查看当前用户
who:
文件所有者: u
文件所属组: g
其他人: o
所有的人: a
+: 添加权限:
-: 减少权限
=: 覆盖原来的权限
mode:
r: 读
w: 写
x: 执行
chmod o+w 1.txt
给其他人加写权限
– : 没有权限
r: 4
w: 2
x: 1
7满权限
765
7 – rwx – 文件所有者
6 – rw – 文件所属组
5 – rx – 其他人
chmod 777 1.txt
把文件所有者所有组都设置为满权限
chmod -001 1.txt
削减其他人的执行权限
重点 chmod和chown
文件不一定属于所有者所在的组,可以属于group1中的人,但是属于group2组,group3组属于其他人
sudo chown user1
1.txt //改变所有者
sudo chown user1:user2
1.txt//改变所有者和所属组
sudo chgrp user3 1.txt
//改变所属组
目录没有执行权限就无法访问 进不去目录 也无法查看详细信息 ls -l就会权限不够
输入命令:mqk@HPZ640-1:~$ sudo adduser tt
添加用户名字叫tt
1). 文件名:find + 查找的目录 + -name + “文件的名字”
find /home/liuj/ -name "1.txt“ 在当前目录下找 1.txt
使用通配符:
?
代表一个字符 *
代表多个字符
find /home/liuj/ -name "ou*.txt“
2). 文件大小: find + 查找目录 + -size + +10k
sudo find ~ -size -10K
//size小于10k的文件
sudo find ~ -size +10M -size - 100M
//大于10M小于100M 的文件
3). 文件类型: find + 查找目录 + -type + d/f/b/c/s/p/l
sudo find /home/liuj/ -type d
//查找类型为目录的文件
grep -r “查找的内容” + 查找的路径
grep -r "stdio.h"
~ //在家目录下查找包含字符stdio.h的文件
1.apt-get
安装 sudo apt-get install tree在线下载安装
移除 sudo apt-get remove tree 移除
更新 sudo apt-get update 更新软件列表
软件列表里包含软件的名字和下载地址(从官方服务器更新)
sudo apt-get clean 删除安装包(var/cache/apt/archives/下的.deb文件)
2.aptitude (下载软件)
网上下载的deb安装包安装
sudo dpkg -i subline.deb //安装subline软件
sudo dpkg -r subline-text //卸载软件
看readme文件
1.解压缩
2.进入安装目录
3.查找configure文件 创建makefile
4.编译源码,生成库和可执行程序:make
5.把库和可执行程序安装到系统目录下: sudo make install
6.卸载
案例: 安装 svn
a. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
b. make
c. sudo make install
插上u盘自动挂载到虚拟机 把虚拟机全屏后就可以自动挂载了
卸载u盘 umount /meida/itcat/ESD-USB
mount deviceName /mnt
sudo fdisk -l 查看当前U盘的名字
挂载 sudo mount /dev/sdb1 /mnt
取数据 cp aaa.txt /home/itcat/1Day
卸载 (当前目录不能是mnt目录 需要先退出mnt目录)sudo umount /mnt
sd是硬盘
挂载到其他目录下 会临时覆盖该目录下的内容