Linux基础
Linux目录结构
/:Linux中没有盘符,根目录为"/"
/bin:存放系统命令的目录,所有用户都可以执行.
/sbin:保存和系统环境设置相关的命令,只有超级用户可以使用这些命令,有些命令可以允许普通用户查看。
/home:用户缺省宿主目录 添加新用户 home会有对应用户的文件夹
/etc:系统配置文件
/dev:存放设备文件 网卡 声卡 显示 CD 打印机
/mnt:挂载目录。临时文件系统的安装点,默认挂载光驱和软驱的目录
/media:挂载目录。 挂载媒体设备,如软盘和光盘
/opt:第三方安装的软件保存位置。 习惯放在/usr/local/目录下
/usr: 系统软件共享资源目录,存放所有命令、库、手册页等
/root:存放root用户的相关文件,root用户的家目录。宿主目录 超级用户 我们进入系统默认在root目录下
1.2 基础命令
1.2.1 cd切换文件夹
英文:change directory 命令路径:内部命令 执行权限:所有用户 作用: 切换目录 语法:cd 目录 Linux绝对路径 /路径 /aaa/bbb/ccc Linux相对路径 不是根目录开头的路径 ./ 当前目录 ../ 上一级目录 ../../ 上两级目录 cd ..返回上一级目录 cd / 切换到根目录 cd /root 使用绝对路径进入到root目录 cd root 使用相对路径进入到root目录 cd ./root 使用相对路径进入到root目录 cd - 显示并打开到上一次操作的目录
1.2.2 pwd显示当前目录
英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户 作用:显示当前工作目录 语法:pwd
1.2.3 ls 查看目录下文件
英文:list 命令路径:/bin/ls 执行权限:所有用户 作用:显示目录文件 语法:ls [-alrRd] [文件或目录] -a (all) 显示所有文件,注意隐藏文件,特殊目录.和.. -l (long) 显示详细信息 -R(recursive) 递归显示当前目录下所有目录 -r (reverse) 逆序排序 -t (time) 按修改时间排序(降序) ll 相当于 ls –l
ls查看当前目录下的文件
[root@localhost /]# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
ls -a 显示所有文件 包括隐藏文件
[root@localhost /]# ls -a . bin dev home lib64 mnt proc run srv tmp var .. boot etc lib media opt root sbin sys usr
ls -l 显示详细信息
[root@localhost /]# ls -l total 20 lrwxrwxrwx. 1 root root 7 Nov 18 02:08 bin -> usr/bin dr-xr-xr-x. 5 root root 4096 Nov 18 02:18 boot drwxr-xr-x. 20 root root 3240 Nov 18 03:10 dev drwxr-xr-x. 75 root root 8192 Nov 18 04:42 etc drwxr-xr-x. 3 root root 17 Nov 18 04:42 home lrwxrwxrwx. 1 root root 7 Nov 18 02:08 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Nov 18 02:08 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Nov 5 2016 media drwxr-xr-x. 2 root root 6 Nov 5 2016 mnt 注意:linux中 d开头的是文件夹 -开头的是文件 l开头的快捷方式 ls -l 可以简写成 ll
1.2.4 mkdir创建文件夹
英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户 作用:创建新目录 语法:mkdir [-p] 目录名 -p 父目录不存在情况下先生成父目录 (parents) mkdir /root/aaa 在root下创建aaa文件夹 mkdir /root/bbb /home/ccc 在root下创建bbb文件夹 在home下创建ccc文件夹 mkdir -p /root/aa/bb/cc -p可以创建多级文件夹 在/root下创建 aa/bb/cc文件夹
1.2.5 touch创建文件
命令路径:/bin/touch 执行权限:所有用户 作用:创建空文件或更新已存在文件的时间 语法:touch 文件名 eg:# touch a.txt b.txt touch {a.txt,b.txt} 同时创建多个文件 创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号 注意:生产环境中,文件名,一定不要加空格 touch a.txt 在当前目录下创建 a.txt touch /root/a.txt /root/b.txt /root/c.txt 在root下创建 a.txt b.txt c.txt touch "1 .txt" 如果文件名中有空格 需要加""
1.2.6 mv移动文件
英文:move 命令路径:/bin/mv 执行权限:所有用户 作用:移动文件或目录、文件或目录改名 语法:mv 源路径 目标路径 mv a.txt b.txt 将当前目录的a.txt改为b.txt mv b.txt /home 将当前目录下的b.txt移动到home文件夹下 mv /root/c.txt /home/ccc.txt 将root下的c.txt移动到home下并改名为ccc.txt
1.2.7 cp复制文件目录
英文:copy 命令路径:/bin/cp 执行权限:所有用户 作用:复制文件或目录 语法:cp [–rp] 源路径..... 目标路径 -r -R recursive 递归处理,复制目录 -p 保留文件属性 (原文件的时间不变) eg: 1,相对路径 cp –R /etc/* . cp –R ../aaa ../../test/ 2,,绝对路径 cp –R /ect/service /root/test/aa/bb cp a.txt b.txt 将a.txt文件 复制成b.txt 复制并改名 cp -r aa abc 复制文件夹要递归复制 将aa文件夹 复制为 abc文件夹
1.2.8 rm删除
英文:remove 命令路径:/bin/rm 执行权限:所有用户 作用:删除文件 语法: rm [-rf] 路径 -r (recursive)删除目录,同时删除该目录下的所有文件 -f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认 注意:工作中,谨慎使用rm –rf 命令。 乱码文件删除 ll -i 获取到 inum find -inum 33575027 -delete rm -rf a.txt 强制删除 a.txt文件 rm -rf aa 强制 递归删除 aa文件夹
1.2.9 echo输出
将内容打印在控制台显示 echo “hello” echo “hello” > 1.txt 覆盖 echo “hello” >> 1.txt 追加内容
1.2.10 cat显示文件内容
英文:concatenate 命令路径:/bin/cat 执行权限:所有用户 作用:显示文件内容 语法:cat [-n] [文件名] -A 显示所有内容,包括隐藏的字符 -n 显示行号 eg:cat /etc/services
1.2.11 ln连接
英文: link 命令路径:/bin/ln 执行权限:所有用户 作用:产生链接文件 , 方便操作文件 语法: ln -s 源文件 快捷方式文件 创建软链接 源文件 使用 绝对路径 ln 源文件 快捷方式文件 创建硬链接 ln -s /root/a.txt /a.txt 在根目录创建一个a.txt 连接 root目录下的a.txt 软连接 软连接 如果源文件不存在了 快捷方式文件 就没有用了 没有对应的文件 ln /root/b.txt /b.txt 在目录下创建一个b.txt 连接 root目录下的b.txt 硬连接 硬连接 b.txt也是一个单独的文件 源文件改变 b.txt也随之改变 源文件被删除 b.txt还可以继续使用
1.2.12 more显示文件内容
命令路径:/bin/more 执行权限:所有用户 作用:分页显示文件内容 语法:more [文件名] 空格或f 显示下一页 Enter键 显示下一行 q或Q 退出
1.2.13 less显示文件内容
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。 less [参数] 文件 q 退出查看内容 参数说明: -N 显示每行的行号 b 向后翻一页 d 向后翻半页 u 向前滚动半页 y 向前滚动一行 空格键 滚动一页 回车键 滚动一行 g 直达文件首页 G 直接文件末尾 /关键字 搜索关键字(按n找下一个) [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
1.2.14 head查看文件前几行
命令路径:/usr/bin/head 执行权限:所有用户 作用:查看文件前几行(默认10行) 语法:head [文件名] -n 指定行数 eg:head -20 /etc/services services前20行
1.2.15 tail查看文件后几行
命令路径:/usr/bin/tail 执行权限:所有用户 作用:查看文件的后几行 语法:tail [文件名] -n 指定行数 -f (follow) 动态显示文件内容 -F 动态显示文件内容 获取一个大文件的部分文件,可使用head或tail命令 head 100 /etc/services >config.log 将 services中前100行 写入到 config.log文件中 -f 依据inode号跟踪,如果目标文件被重命名,则新创建的同名文件不会被跟踪 -F 依据路径名跟踪,如果目标文件被重名,然后创建了同名的新文件,则会继续跟新文件
1.2.16 find查找
根据文件名、路径、文件类型、修改创建时间等信息搜索文件 命令路径:/bin/find 执行权限:所有用户 作用:查找文件或目录 语法:find [搜索路径] [匹配条件] 如果没有指定搜索路径,默认从当前目录查找 find命令选项 -name 按名称查找 精准查找 eg:find /etc -name “init” 在目录/etc中查找文件init -name 按名称查找 find查找中的字符匹配: *:匹配所有 ?:匹配单个字符 eg:find /etc -name “init???” 在目录/etc中查找以init开头的,且后面有三位的文件 模糊匹配的条件,建议使用单引号或双引号括起来。如果*被转义,可使用 单双引号括住查询条件,或者使用\*。 eg: # find . –name *g
1.2.17 grep关键字查找
命令路径:/bin/grep 执行权限:所有用户 作用:在文件中搜寻字串匹配的行并输出 在命令的输出中搜索内容 语法:grep [-cinv] '关键词' filename 选项与参数: -c :输出匹配行的次数(是以行为单位,不是以出现次数为单位) -i :忽略大小写,所以大小写视为相同 -n :显示匹配行及行号 -v :反向选择,显示不包含匹配文本的所有行。 eg:grep ftp /etc/services ll / | grep dev
1.2.18 gzip压缩
英文:GNU zip 命令路径:/bin/gzip 执行权限:所有用户 作用:压缩(解压)文件,压缩文件后缀为.gz gzip只能压缩文件,不能压缩目录;不保留原文件 语法:gzip 文件 -d将压缩文件解压(decompress) 解压使用gzip –d或者 gunzip
1.2.19 tar 压缩解压
命令路径:/bin/tar 执行权限:所有用户 作用:文件、目录打(解)包 语法:tar [-zcf] 压缩后文件名 文件或目录 -c 建立一个压缩文件的参数指令(create),后缀是.tar -x 解开一个压缩文件的参数指令(extract) -z 以gzip命令压缩/解压缩 -j 以bzip2命令压缩/解压缩 -v 压缩的过程中显示文件(verbose) -f file 指定文件名,必选项 gzip 文件 文件 文件 gunzip 压缩文件 压缩文件 tar -zcvf my.tar.gz 文件1 文件2 文件3... 打包压缩 tar -zxvf my.tar.gz 解压缩文件 tar -zxvf my.tar.gz -C 文件夹/ 解压缩文件到指定目录
1.2.20 which查找命令(了解)
命令路径:/usr/bin/which 执行权限:所有用户 作用:显示系统命令所在目录(绝对路径及别名) which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令 which ls 查找ls命令位置 alias ls='ls --color=auto' /usr/bin/ls
1.2.21 whereis查找命令和帮助文档(了解)
命令路径:/usr/bin/whereis 执行权限:所有用户 作用:搜索命令所在目录 配置文件所在目录 及帮助文档路径 eg: which ls 和 whereis ls eg:查看/etc/passwd配置文件的帮助,就用 man ls
1.2.22 alians别名
给一个长命令定义别名 alias xx='ls -l' 定义别名后 xx就相当于 ls -l
1.3 VI编辑器
yy 复制光标所在的行内容 dd 剪切光标所在的行内容 [删除] p在光标所在的行的下面粘贴 nyy 复制n行 ndd 剪切n行 i光标所在的前面 I 行首 a光标的后面 A 行末 o 下一行 O上一行 :q! 不保存退出 :wq!保存退出 :set nu 显示文本行号 :set nonu 隐藏行号 n G 跳跃光标到第n行 G 跳跃光标到最后一行 o 文档的末尾插入 u 撤销操作 / str 搜索字符串 n下一个