Linux达人养成计划I 笔记

一.命令的基本格式

命令提示符格式

root@localhost ~

root :当前登陆用户
localhost: 主机名. 
~: 家目录, home下的二级目录
\#  :当前登陆超级用户

命令格式

命令 [选项] [参数]

例如:

ls  -l

ls -lh

显示格式:

前10位表示什么啊:第一位表示文件类型, 后面9位表示用户和组

.所有者u 所属组g 其他人o 的权限
用 r读 w写 x执行 标示
后面部分 ACL权限 引用计数 最后一次修改时间

ls -a 显示包括隐藏文件(什么意义 告诉你系统文件,别轻易改)
ls -d 只显示目录信息,而不是文件
ls -h  人性化显示,后面跟文件大小
ls -i  显示文件id号

二.文件处理命令

目录处理命令

创建目录

mkdir [option] [directory]

  -p 递归创建
eg: mkdir -p japan/cangls

cd [directory]

cd  ~  到家目录

cd  - 返回上次目录

cd .. 到上一层目录

(福利:Ctrl +L 清屏快捷键)
(概念:
.相对路径
.绝对路径)

pwd 打印当期目录

删除目录

rmdir 只删除空目录

rm -f [目录名]

拷贝目录

cp  -r japan/  temp/

(虚拟机时间不准 没有电池)

cp -a [s]  [t] 所有属性一起复制
ll 是 ls -l 缩写,可以设置

剪切目录

不需要加 -r 也是改名命令
mv [s] [t] linux开发的问题

linux根目录讲解:

bin的几个位置:

根目录下的bin和sbin,usr目录下的bin和sbin 这四个目录都是用来保存系统命令的,区别在sbin只有root才能执行.

boot 启动目录 启动数据

dev 设备目录

etc 配置文件

lib 函数库的保存位置

media mnt misc: empty directoty, 挂载外接盘符,mnt就可以,老的linux没有其他两个空目录

pro sys 内存中的数据不应该操作
usr 系统软件资源目录,比如

usr/bin/系统命令(普通用户)

usr/sbin/系统命令(超级用户)

var:系统可变文档的目录

linux是一个严谨系统, 别随便改.

文件处理命令

链接命令

链接命令

ln [源文件] [目标文件] ----hard link
ln -s [源文件] [目标文件] ----soft link

英文link

硬链接:一个文件不同接入点

1.拥有相同的i节点和存储的block块,可以看成是是同一个文件.

2.可通过i节点识别

3.不能跨分区

4.不能针对目录使用

并不建议创建硬链接

软连接:

类似windows快捷方式

软连接拥有自己的i节点合Block块,但是数据只保存源文件名和i节点号,并没有实际的文件数据

.lrwxrwxrwx中 l是软连接的意思,而且软连接的权限一般都是这样的.

.修改任意文件,另一个都改变

.删除源文件,软连接不能使用

command: 
 touch [fire]: create a file

 ll -i    : list all info. and node id of the file

三.文件搜索命令

文件搜索命令 lcoate 速度快 locate [文件名]

在后台数据库按文件名搜索,优点搜索速度快

.var/lib/mlocate #locate命令所搜索的数据库

updatedb,因为不是实时的

缺点只能按照文件名搜索

etc/updatedb.conf 里面定义了筛选规则. 比如tmp目录下创建文件不会被搜索到.whereis 和which也遵循这个筛选规则.

命令搜索命令

 whereis与which

whereis [选项] [命令名]

查看命令命令执行目录和帮助文档所在位置

-b  只看命令位置   m 只看文档位置

which [选项] [命令名] ,可以看到命令别名

cd 命令不能被找到,是shell命令.

查看PATH 环境变量, echo PATH

文件搜索命令 find

精确搜索find / -name install.log

通配符: a[cd] *[cd] ?

[]–括号内的任意一个 ?–任意一个 *任意多个

find /root -name install.log

find /root -iname install.log 不区分大小写

find /root -user root 搜索固定所有者的文件

find /root -nouser 搜索指定目录下没有所有者的文件 即垃圾文件,但是外来文件和内核产生文件没有所有者

find /var/log/ -mtime(modify) +10

-10 十天内修改的文件

10  10天当天修改文件

+10 10天前修改文件

atime 文件访问时间

ctime 改变文件属性

mtime 改变文件

find . -size 25 按照文件大小搜索

+25k
25k
-25k

find . -inum 2131132 按节点搜索 ls -i 相反

find /etc +20k -a -size -50

-a  and

-o   or

find /etc +20k -a -size -50 -exec ls -lh {} \;

命令2处理命令1的结果

字符串搜索命令 grep

grep [选项] 字符串 文件名

-i 忽略大小写

-v排除指定字符串

find命令与grep命令的区别

grep 包含匹配 , find 是完全匹配

四.帮助命令

帮助命令man
man [命令名] /-g 可以查询相关命令.

man -f [comment] 配置文件帮助等级 相当于what is

man 1 ls 

man 1 null  

apropos passwd 查处所有含有关键字的命令信息

其他帮助命令

1.获取选项帮助

 ls --help
  1. 获取shell命令帮助

    help shell 内部命令

whereis 能够找到位置是后来安装的,而像cd这样的事找不到的,是系统自带的.

所以用 help cd 才可以

3.info 更详细的命令 太麻烦,信息杂

五压缩和解压缩命令

.zip  .gz  .bz2   

zip格式

zip 压缩文件名 源文件          // 压缩文件

zip -r 压缩文件名 源文件目录    // 压缩目录

unzip 压缩文件    //解压缩

gz格式

.tar.gz 不保留源文件

gzip 源文件   

gzip -c 源文件 > 压缩文件  保留源文件

gzip -r 目录 压缩目录下面所有子文件

//解压缩文件

gzip -s 压缩包

gunzip 压缩文件  

//解压缩目录
gunzip -r 压缩文件

.bz2 不能解压缩目录 加-k保留源文件

// 压缩

bzip2 压缩文件

//解压缩

bunzip 或bzip -d 压缩文件

tar.bz2 先打包再压缩

tar -cvf 打包文件源文件

-c 打包

-v 显示所有文件

-f 打包后文件名

再 gzip 打包文件

   bzip2 打包文件

解压缩

gzip -d 压缩文件

tar -xvf 包名

麻烦直接 tar就可以做

tar -zcvf 压缩包.tar.gz [后面可跟多个文件]

选项 -z : 压缩成 ..

tar -zxvf 压缩包名 

选项 -x 解压缩

tar -jcvf 压缩包.tar.bz2

选项 -c : 压缩成 ..

tar -jxvf 压缩包名.tar.bz2  -C  指定解压缩位置

选项 -x 解压缩

tar -ztvf 压缩包.tar.gz  查看而不解压

六关机和重启命令

shutdown -r 05:30    //5:30 关机

shutdown -c 取消前一个关机命令

shutdown -h 关机

shutdown -r 重启

shutdown更安全,会保存一些状态.

不安全命令:

halt

poweroff

init 0

重启命令

reboot

init 6 //不要用了

系统运行级别:

0  关机

1  单用户

2 不完全用户,不包含NFS服务

3 完全多用户

4 未分配

5 图形界面

6 重启

runlevel 显示运行级别,之前运行级别与现在运行级别,以启动就进入钱一个级别是N(null)

远程时每次要退出.

七其他常用命令

挂在命令

mount 

mount -a //    etc/fstab 里面保存开机自动挂载部分挂载一遍.

mount [-t 文件系统]  [-o 特殊选项]

-t ext3 ext4  iso9660(光盘和U盘)

-o 特殊选项(读写权限 exec(是否挂在分区的可执行文件可执行))
用户登陆查看和用户交互命令

mount -o remount,noexec /home/  取消home分区的执行文件的权限.

mount -o remount,exec /home/  恢复home分区的执行文件的权限. 把boot分区搞成这样就起不来了

挂载光盘

mkdir /mnt/cdrom/
mount -t iso9660 /dev/sr0 /mnt.cdrom/
mount /dev/sr0 /mnt/cdrom/

卸载光盘

1.退出光盘目录

unmount /mnt/cdrom/

如果强制换盘,linux容易崩溃

u盘名字 sdb1

fdisk -l 查看u盘设备文件名

mount -t vfat /dev/sdb1 /mnt/usb/

挂载NTFS分区不太好

linux不支持NTFS系统, ntfs-3g 安装后默认支持,只能只读

用户登陆查看命令

w

JCPU 所有CPU耗费 PCPU当前CPU耗费

who

last  查询当前登陆和以前登陆用户的信息 存在 /var/log/wtmp中

lastlog 用户名 登陆终端登陆IP 最后一次登陆时间

shell 基础

shell概述

linux 标准 Bash bourne 和 c 两种

echo $变量名

sh // 切换到另一个shell

操作终端可以接连调用好几个层级.

执行方式: 命令后加分号

echo -e ""

alias 显示别名

alias ls= "ls --color=never" 设置命令别名

alias vi ='vim'

永久生效,配置环境变量配置文件

vim ~/.bashrc

write the alias set

source ~/.bashrc

unalias vi 暂时删除命令别名

命令生效顺序:

绝对路径或相对路径执行的命令

执行别名

Bash内部命令

按照Path环境变量定义的目录下的查找顺序第一个找到的命令

常用快捷键:

ctrl+c 强制终止当前命令

ctrl+l 清屏

ctrl+a 光标移动到命令的行首

ctrl+e光标移动到命令的行尾

ctrl+u从光标位置删除到行尾

ctrl+z把命令放入后台

ctrl+r在历史命令中搜索

历史命令:排错,记录hack

history

-w 缓存历史存入文件

-c 清空所有命令

!n 重复执行第n条命令

!! 重复执行上一条命令

!字符串   调用最后一个以字符串开始的命令

命令补全和文件补全

输出重定向:

1.标准输入输出

键盘 /dev/stdin    标准输入   0  (文件描述符)

显示器  /dev/stdout  标准输出  1 (文件描述符)

显示器: /dev/stderr   标准错误输出 2(文件描述符)

2.输出重定向

标准输出重定向

命令 > 文件  以覆盖的方式把输出输出到指定文件或设备当中

命令 >>文件 以追加的方式把命令正确输出输出到指定文件或设备中

标准错误输出重定向()注意大于号左右两边都没有空格,你要知道命令是会报错的,所以很少用.

错误命令 2>文件

错误命令 2>>文件

标准输出重定向复合:

命令 > 文件 2>&1 正确的写入文件 错误2的写入正确&1也写入文件

命令 >> 文件 2>&1

命令 &>文件

命令 &>>文件

命令>>文件1 2>>文件2   // 很有用
  1. 输入重定向(很少见,一般软件安装打补丁时候)

    wc [选项] [文件名]

    wc -c 统计字节数

    wc -w 统计单词数

    wc -l 统计行数

输出

几行几个单词几个字符

wc < 文件名  统计文件的几行几个单词几个字符, 不加小于号也可以

wc << 输入结束标记(几乎没用过)
  1. 管道符号

多命令顺序执行

 ;   多个命令顺序执行

 &&  只有命令1正确执行 命令2才执行

 ||  第一条命令不正确执行 命令2才执行

检测命令是否正确执行:

ls && echo yes || echo no    ls execute print yes , else print no

ls || echo no && echo yes    顺序关系

管道符 |:

ls -l /etc | more 命令1的结果作为命令2的对象,命令2一定要可以操作命令1输出才可以

netstat -an  (established,由客户端正在链接)

netstat -an | grep ESTABLISHED  查看有多少各人正在链接.

通配符:

? 任意一个字符 ls a?    列出aX的文件

* 任意多个字符  ls a*  列出所有以a开头的文件

[] 任意一个字符  ls a[0-9] 匹配后缀数字0-9, -表示范围  

[^]  匹配非  ls a[^0-9]

正则表达式

Bash 其他的符号

$ 调用和得到变量的值

单引号''  echo '$a' 输出$a

双引号""  echo "$a" 输出变量值

反引号``  echo `ls` 先执行,再把结果赋给变量  = $()

\#注释 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值