实验楼linux教程

 第二节

查看用户   who am i

使用root权限:sudo <cmd>        条件:当前用户在sudo用户组 

切换用户: su <user>

                su - <user>               说明: 环境变量会改变成目标用户的环境变量

添加用户: sudo adduser 用户名

删除用户: sudo deluser 用户名

退出终端: ctrl+d

终止程序: ctrl+c

当前路径: pwd

查看用户组: groups 用户名

将其他用户放到sudo用户组:  sudo usermod -G sudo 用户名     

变更文件所有者:    sudo chown 用户名 文件名

 

查看文件权限: ls 

文件信息的格式:

文件类型权限:

 修改文件权限(方法一): chmod 731  文件名      说明:731的解析如下图所示

 

:

 

       

 第三节

新建空白文件: touch 文件名

新建目录:

  • mkdir 目录名           
  •  mkdir -p 目录结构   例如: mkdir -p  father/son/grandson  

删除文件: rm 文件名

删除目录: rm -r 目录名

复制文件: cp 文件名 路径     例如:    cp test father/son/grandson

复制目录: cp -r 目录名 路径   例如:  cp -r father family

移动文件: mv 源目录文件 目的目录

重命名文件: mv 旧文件名  新文件名

查看文件:

  • 正序显示               cat 文件名
  • 倒序显示               tac 文件名
  • 添加行号并打印     nl   文件名
  • 查看一屏内容        more 文件名   (Enter 键向下滚动一行,使用 Space 键向下滚动一屏,按      
  •                                                                      下 h 显示帮助,q 退出)
  •  查看前x行             head -n x 文件名   例如: head -n 5 passwd
  •  查看后x行             tail -n x 文件名       例如: tail -n 5 passwd

 

  第四节

查看文件类型:  file 文件名 

Vim操作:

  • q!   退出vim(不保存)
  • x    删除光标处字符            
  • i     光标处添加文本
  • a    在单词末尾添加文本
  • A   在行末尾添加文本
  • h    左移
  • j     下移
  • k    上移
  • l     右移
  • dw 删除光标处到一个字符的末尾
  • d$ 删除光标处到航模 
  • d+n+{h,j,k,l}  删除{左,下,上,右}一次   例如: d1j -->删除下方一行     d2h --> 删除左边2个字符
  • 0 光标移动到行首
  • dd  删除整行(删除行会保存在剪贴板中)
  • u    撤销前一项操作   
  • ctrl+r  撤销u操作
  • y  复制文本
  • p  粘贴文本 
  • r   替换字符
  • R  连续替换字符
  • ce 删除到字母末尾,并进入添加文本模式(其实就是de+i两个操作)
  • ctrl+g 显示当前行   ,显示文本信息
  • *(数字)+G  跳转到第*行
  • G               跳转到最后一行
  • gg              跳转到第一行
  • /+字符串     查找字符串    n---查找下一个    N---查找上一个
  • ?+字符串    查找字符串(逆序查找)
  • %               查找配对的括号
  • s/旧字符/新字符  替换第一个字符  比如: s/tree/the 
  • s/旧字符/新字符/G  替换一行所有字符  
  • #,#s/旧字符/新字符/g   替换任意2行之间的所有字符   比如: 2,100/old/new/g(替换第2~100行中的所有old)
  • %s/旧字符/新字符/g  替换全文中的字符
  • %s/旧字符/新字符/gc  替换全文中的字符,每个字符都提示是否替换
  • :!   输入外部命令
  • w 文件名  保存为文件
  • v  然后移动到其他行再按v   两行之间高亮,此时再输入:w 文件名   保存两行之间的内容
  • :r 文件名   插入文件中的内容
  • o   在光标下方新增一行并进入插入文本模式
  • O  在光标上方新增一行并进入插入文本模式
  • :set ic    : set noic     忽略大小写/不忽略大小写

许多文本命令都是  操作符+数字+动作构成的

数字表示重复次数

比如   d---删除操作符

动作:  w---从当前光标到下一个单词起始处,不包括第一个字符

          e---从当前光标到单词末尾,不包括最后一个字符

          $---从当前位置到行末

所以命令的组合有:  dw  ,de   ,d$ ,3e  ,2w ,d2w  ,d5e , d2k ,9dd, 5k  ,6l  等等

 

 

  第五节

declare  tmp       创建环境变量tmp

unset   tmp         删除环境变量

tmp=shiyanlou    给环境变量tmp赋值

$tmp                   读取变量tmp的值

source .zshrc      让环境变量立即生效

 

命令

set         显示当前shell的所有变量

env        显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。

export    显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量(临时)。

 

添加永久变量:  在/etc/profile文件中添加永久变量

添加PATH环境变量:    PATH=$PATH:/home/shiyanlou/mybin

 

echo >   覆盖内容

echo >> 追加内容

 

whereis  文件名   搜索文件位置

find    文件名        搜索文件位置

 

  第六节

zip -r -1 -q -o 压缩文件名  原文件名

-r 递归打包包含子目录的全部内容

-1 压缩级别,9压缩包最大(速度最快),1压缩包最小(速度最慢)

-q 不向屏幕输出信息

-o  压缩后的文件名

 

unzip  文件名

 

 

  第七节

df  查看磁盘容量

du  查看目录的大小

du -h  人性化展示数据

 

dd if=/dev/stdin of=/dev/stdout bs=10 count=1

if---输入文件

of---输出文件

bs---指定块大小

count---指定块数量

mkfs---格式化文件系统    例如:sudo mkfs.ext4 virtual.img

sudo mount---查看挂载的文件系统

 

  第八节

内建命令:是 shell 程序的一部分,这些命令写在bash源码的builtins里面的,并由 shell 程序识别并在 shell 程序内部完成运行,通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等

外部命令:需要时才将其调用内存。虽然其不包含在 shell 中,但是其命令执行过程是由 shell 程序控制的。外部命令是在 Bash 之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

type 命令   获取命令的帮助信息  例如: type ls

man  命令  获取命令的帮助信息

help 命令  help 命令是用于显示 shell 内建命令的简要帮助信息

 

   第九节

crontab -e    创建周期性任务

crontab -l     显示任务

crontab -r    删除任务

 

   第十节

连续执行命令用  ; 分隔,比如:  cat text.txt ; touch text2.txt

$? 获取上一条指令的执行状态  如果成功返回值是0

&& 上一条命令执行成功,那么执行后面的命令  

       例如:  $ which cowsay>/dev/null && cowsay -f head-in ohch~

||   上一条命令执行不成功,那么执行后面的命令

        例如: $ which cowsay>/dev/null || echo "cowsay has not been install, please run 'sudo apt-get install cowsay' to install"

cut  打印每一行的某一字段

  • $ cut /etc/passwd -c -5       前5个,包含第5个
  • $ cut /etc/passwd -c 5-       前5个之后的所有字符
  • $ cut /etc/passwd -c 5        第5个
  • $ cut /etc/passwd -c 2-5     第2-5个

cut -d : -f 1  以:为分隔符,取第一个区域的内容

    例如:  cat t1.txt | cut -d ' ' -f -2  以空格为分隔符,取t1.txt文件的前2个区域的内容

|     管道: 将前一个进程的输出作为下一个进程的输入   比如:  ls -al /etc | less

grep  查找匹配的字符串 例如:

          

  • -r   递归搜索子目录中的文件
  • -n 打印匹配项行号
  • -I 忽略二进制文件。

wc  统计并输出一个文件中行、单词和字节的数目

  • $ wc -l /etc/passwd  行数
  • $ wc -w /etc/passwd   单词数
  • $ wc -c /etc/passwd   字节数
  • $ wc -m /etc/passwd   字符数
  • $ wc -L /etc/passwd   最长行字节数

sort     默认排序

  • -r  反转排序

uniq       去掉连续重复行(只能去除相邻重复行,一般配合sort命令使用)

uniq -dc  可以去掉不连续的重复行,并显示重复数

history   查看历史命令

   第十一节

tr           删除文本中的字符

  • -d   删除指定的单个字符   比如  tr -d 'abc'   所有a,b,c字符都删除了
  • -s   删除连续并重复的字符,保留一个,  比如 tr -d 'a',连续的baaab会变成bab

join   将两文件中相同的内容合并

paste  直接将文件内容合并

   第十二节

永久重定向: exec 命令

例如:  把标准输出重定向到了somefile文件中

 

   第十四节

apt-get  install 软件名    安装一个软件

apt-get remove 软件名  卸载一个软件

   第十五节

ps    查看进程信息

ctrl+z   将一个进程放到后台运行

jobs     查看正在执行的任务

kill  -参数 %任务编号    干掉一个任务   比如: kill -9  %1

      -参数  进程的pid值  干掉一个进程  比如: kill -9 1608

  • -1  重新读取参数运行,类似与restart
  • -2  如同 ctrl+c 的操作退出
  • -9  强制终止该任务
  • -15  正常的方式终止该任务

   第十六节

top   进入进程管理界面

sudo service 程序名 start    开启软件服务  

   第十七节

日志分为系统日志和应用日志

存放路径:  /var/log

猜你喜欢

转载自542255641.iteye.com/blog/2384719
今日推荐