linux操作快捷键:

1、命令补全 tab

2、历史记录 history  上一条ctrl+p  下一条 ctrl+n

3、光标移动  左 ctrl+b 右ctrl +f 

4、删除光标后面一个字符 ctrl+d    删除前面一个字符ctrl+h

5、删除光标前面的所有内容ctrl+u

6、删除光标后面的所有内容ctrl+k

7、光标移动到前面 ctrl+a  移动到最后 ctrl+e

linux目录结构:

linux是文件型系统,所有设备都用文件的形式表示;根目录是/;

/bin:binary,二进制文件,可执行程序,常用的shell命令都放在这里

/dev:device,设备,在linux下面一切皆文件,比如显卡,显示器,硬盘都被抽象成文件放在这个文件中;

/lib:linux系统运行时候需要加载的一些动态库,会放到这个包中;

/mnt:手动的挂载目录,U盘/光驱都可以挂载在这个目录;

/media:自动挂载目录

/root:linux的超级用户的家目录

/usr:unix system resource  系统资源包含:一些头文件stdio.h  游戏 用户安装的程序/usr/local

/etc:配置文件

    /etc/passwd:当前linux系统下的用户信息

    /etc/group 当前linux系统下的组信息

    man 5 passwd : 5是章节号  passwd文件名

/opt:用户安装程序(第三方应用程序)

/home:linux操作系统所有用户的家目录

/tmp:存放临时文件,重启电脑后本目录会清空,重要文件不要放在本目录中;

其他目录基本用不到,一般不要去打扰他们,放着就好;

文件或目录颜色介绍:白色==普通文件 绿色==可执行文件  红色==压缩文件 蓝色==目录 青色==链接文件 黄色==设备文件 灰色==其他文件

用户名+@在+主机名+所在工作目录 ~:当前用户家目录  /:根目录  

用户切换:

普通用户切换超级用户:su root  输入超级用户密码

超级用户切换普通用户:su 普通用户名  

ls和pwd命令:

ls -l 查看文件详细内容 或者 ll

ls -lh显示文件大小,以K为单位,注意如果文件是目录永远是4k不包含目录里面的内容大小;

ls -a 显示所有文件 ,linux中隐藏文件前面都有点.

pwd显示用户当前所在工作目录

cd命令:进入一个目录 

.:代表当前目录

进入家目录:直接cd

cd -- 返回上一级目录

进入上一次进入路径 cd - 用于临近两个目录切换

mkdir命令:mkdir 创建目录名称

touch:touch 创建文件名(如果要创建的文件存在,跟新文件时间,保存文件内容)

rmdir:只能删除一个空目录

rm:rm -r 目录或者文件名  删除一个文件或者目录(注意都需要进入当前目录才能删除)

cp:拷贝 cp 要拷贝的文件或者目录  要拷贝到的目录或者文件

cp file1 file(存在) file1内容覆盖file

cp file dir(存在) 拷贝file到目录中

cp 目录1(存在) 目录2(存在)目录1拷贝到目录2中

cp 目录1(存在)目录2(不存在)只拷贝目录1内容,不包括目录1主目录 

mv:文件改名或者剪切

mv file1(存在) file2(不存在) 改名

mv dir(存在) dir(不存在) 改名

mv file1(存在)dir(存在)剪切

mv dir1(存在)dir2(存在)剪切

mv file1(存在) file2(存在)剪切 file1内容覆盖file2

查看文件内容:

cat(小文件)filename

more(使用空格翻页,没有回头路) less(可以回头pagedown+pageup)filename

head tail -n filename  (n代表行数)

软硬链接ln:

软连接---快捷方式     ln -s 绝对路径/文件名 快捷方式的名字(目录也可以创建快捷方式)

硬链接 ln 文件名(不需要绝对路径) 硬链接的名字  

软硬链接区别:硬链接相当于引用了 需要引用的文件的inode节点,不占用磁盘空间,相当于一个变量引用2次,应用于一个文件需要在多个目录下进行时时维护;

修改文件权限:

使用ll来进行文件查看会发现文件权限分为三部分,例:wrx--r--x

wrx为文件所有者权限

--r为文件所有组权限

--x为其他人权限

chmod who +/-/= rwx 文件名

who指的是:文件所有者u user、文件所属组g group 、其他人o other、所有人(什么都不写默认是所有人)a all

例:给file.c文件的所有组添加读权限以及文件所有者减去写权限给其他人添加执行权限

chmod g+r,u-w,o+x file.c

例:假设文件拥有777权限分别执行,chmod -w file.c和chmod a-w file.c区别?

linux有保护机制,不写a-w,只会将文件所有者和所有组成员的权限减去w而其他人权限不会变。

数字文件设定权限:

r:4

w:2

x:1

-:0

例:--xrwx--x  所有者和同组用户的权限设置为-wx

chmod 331 file.c

例:file.c文件权限777给所有者和所属组减去r权限

chmod -440 file.c

修改文件所属者:

前提要知道系统中拥有哪些用户哪些组?

vi /etc/passwd 查找用户

vi /etc/group  查找组

注意这个操作必须要有root权限,所以在前面加上sudo

sudo chown tom file.c   将file.c所有者改成tom

sudo chown tom:killy file.c 将file.c文件所有者修改为tom,所有组修改为killy。

修改文件所属组:

sudo chgrp tom file.c  将file.c文件所属组改成tom

find命令:根据文件属性查找

文件名:find 查找的目录 -name “查找的文件名” find . -name "programer" 查找当前目录下的programer文件

文件类型:find 查找的目录 -type 文件类型

七种文件类型:普通文件 f、目录 d、符号链接 l、管道 p、套接字 s、字符设备 c、块设备 b

文件大小:find 查找目录 -size -10M   (+:大于 -:小于  不写:等于    单位k:小写 M:大写)

查找home目录下文件大小大于10k小于100k的文件 ?find home/ -size +10k -size -100k

按照日期:

创建日期:-ctime -n/+n   -n :在n天以内创建的文件 +n:在n天以外创建的文件 

find . -ctime -1  查找当前目录1天以内创建的文件

修改日期:-mtime  -n/+n   

访问日期:-atime  -n/+n

深度查找:

-maxdepth n(层数)  (所搜n层以下的目录,向下搜索)

例:搜索itcast目录下名字为a的文件,最多搜索3层。

find itcast/ -name a -maxdepth 3

-mindepth n  (所搜n层以上的目录,向上所搜)

高级查找:

例:查找指定目录,并列出该目录的所有文件的详细信息?

find ./ -type d -exec ls -l{} \;  查找当前目录文件类型为目录 -exec是shell脚本 后面加shell命令+{}+空格+\+冒号

find ./ -type d -ok ls -l{} \;跟上面比较安全一些

find ./-type d|xargs ls -l 使用管道来进行查找效率更好 xargs后面接shell命令,| 管道实际就是分配的一块内存,相当于容器

总结:find 搜索路径 参数 搜索的内容

grep查找:

grep -r(有目录加上-r) “查找内容”  搜索的路径

例:查找家目录下哪个文件中有stdio.h 

grep -r "stdio.h" ~ -n  (-n是在该文件的第几行出现的stdio.h字样)

总结:grep 搜索的内容 参数 搜索的路径

linux下常见压缩格式:

常见压缩格式:.gz    压gzip  解gunzip  .bz2 bzip2

常用压缩命令:

tar 打包 参数 c创建一个压缩文件 x释放压缩文件 v打印提示信息 f指定压缩包的名字 z使用gzip压缩文件 j使用bzip2的方式压缩文件

压缩:tar 参数 压缩包的名字 原材料       tar cvfz test.tar.gz   zoo programer stdio.h

解压缩:tar xzvf test.tar.gz -C 解压目录

rar

rar需要安装  sudo apt-get install rar

压缩: rar a 压缩包名(不需要指定后缀) 原材料

解压缩:rar x 压缩包名 解压目录

zip/unzip

压缩:zip -r 压缩包名 原材料

解压缩;unzip 压缩包名 -d 解压目录