linux--day3

基础命令学习:

 

命令模式下进入编辑模式:
 i:在光标当前位置插入(往前插)
 I:行首
 o:光标所在行下插入一行
 O:光标所在行上插入一行
 a:当前位置后
 A:行尾
 
 0 : 光标回到这一行的开始
 $ :  光标移动到这一行的结束
 
直接命令 (命令模式)
:命令  (底行模式)
 
删除(命令模式下,向后删除):
 x 删除一个字符
 dw 删除当前词(没办法识别所有的英文单词,是连续多个字母,当碰到标点符号时,为一个词)
 3dw 删除三个词
 dd 删除当前行(从光标所在行开始)
 5dd 删除五行(从光标所在行开始)
 :5,10d  (底行模式:5到10行删除)
 
替换:(向后替换)
 r 替换一个字符
 cw 替换一个单词
 cc 替换一行
 C 替换从光标至行尾

拷贝:
 yw     拷贝词(光标放在一个单词的开始位置)(p:在光标的下个位置黏贴;P:在光标的上个位置)
 yy     拷贝行(或Y)
 p    当前行下粘贴
 :1,2 co 3  拷贝行1,行2在行3之后
 :4,5 m 6   移动行4,行5在行6之后
 
保存:
 :w  存盘
 :w newfile 存成新文件
 :wq   存盘退出Vi(或ZZ,或:x先检测有没有改变,如果没有改变,不存盘)
 :q!   强行退出不存盘
 
 ~ : 改变大小写
 J :把当前行和下一行连起来(相当于删除当前行末尾的/n)
 u : 废除上一步操作(undo)(存盘退出,不能废除)
 :set nu : 显示行号 (:set nonu)
 :3 :移动到第3行
 2G :光标停止在第2行
 GG : 光标移到最后一行
 :/字符串 : 从当前行向下搜索
 :?字符串 : 从当前行向上搜索
 n :查找继续
 
 :r file2 在光标所在位置插入另一个文件
 :1,$s/旧串/新串/g 替换全文(或 :$s/旧串/新串/g)
    $:表示最后一行
 (1代表从第一行开始,如果1写成2的话,会从第2行开始查找替换)
 id :查看当前用户信息
 id root
 id -a root
 adduser tom:新建用户
 su - tom : 切换到tom用户
 usermod -g sudo tom : (必须有管理员权限才可以)将tom移动到sudo组,就可以使用sudo命令
 gpasswd -a tom briup : 将tom追加到briup组(gid代表主要的小组,其余为次要的小组)
 gpasswd -d tom sudo :  删除一个组
 userdel -r tom :   删除用户(需要先把提示的进程杀死)

显示当前已登录本系统的所有用户信息: 
 users 显示当前登入的账户
 who  用来查询目前有那些人在线上。
 w    用来查询目前有那些人在线上,同时显示出那些人目前的工作。
 who am i . 显示登入系统时候的账户
 whoami   . 显示当前使用的用户
 
find:根据指定的条件从文件系统中搜寻指定的文件或目录,然后做处理
   1:通过文件名查找
 find 路径 -name "fileName"

   2:通过时间查找
 find 路径 -mtime 10
  查找10天前修改的文件

 find 路径 -mtime +10 十天以外
 find 路径 -mtime -10 十天以内
 
 find / -mtime -10 -mtime +5
   -mtime:修改时间     打开保存。
   -atime:访问时间     more ls -lu
   -ctime:改变状态     修改权限的时候 ls -lc

    用过用户查找: -user
  find 路径 -user test
    同文件大小查找:-size
        find ./ -size 30c
    通过权限查找
  find ./ -perm 777
    通过文件类型查找
      find ./ -tpye f -atime +365 -exec rm {} \;
      注:
  -type
  注:普通文件的- 使用f代替
  -exet 执行(因为find中有这个参数,所以不能用管道)
  {} 用来接收前面参数

  find ./ -name "*.html" -print | xargs perl -p -i.bak -e "s/oldString/newString/g;" 

    将./目录下所有后缀为html的文件中“/oldString” /newString”;其中xargs为一个命令,
    然后作用perl作为参数. 这个功能非常强大.
    在windows下面大家看看可以找得出这么强大的命令吗?

 xargs:把前面的内容整理为参数,将前面结果作为后面命令(perl)的参数

 perl:对文件内容进行处理
 -p :把参数列表中的每一个文件都遍历处理,一个一个处理
 -i.bak:对文件进行处理之前,先备份
  index.bak 之后再处理
 -e :excut 执行后面的命令
 eg:将一个文件中的字符进行替换,替换之前进行备份
 
grep:从管道或文件中搜寻所满足条件的行
 过滤
 eg: grep root /etc/passwd
     从passwd 文件中 过滤 root关键字,把所在行显示
 eg: ls -la | grep -i "被查找的字符串"
 
 -i 忽略大小写
 -v 查找不匹配的行

wc:从文件或管道中统计
 行数、
 字符个数、
 单词个数
 wc [options] filename(s)
 -l 行数
 -w 字数
 -c 字符数
 more a.txt | wc -l

ps:用来查看系统中正在运行的进程的信息
 什么是进程:一个程序的运行过程
 
 ps -e :查看正在运行的进程(运行过程中、就绪状态下的)
 ps -f:详细信息
 eg:
 wood       2709        2571  0 05:07  
 当前进行开启的用户   PID进程自己的id   PPID进程的父进程 C  启动时间 
 pts/2  00:00:00  cat
 tt     运行多久  哪个程序文件启动的进程

 tt:表示该进程是从哪个控制台启动的。
  可以是 pts/num或者?pts/0 0号控制台启动的
  ?:不是用户启动的,是系统运行时自动启动的进程

   eg : ps -ef
 看到进程的详细内容
 主要就是查看pid

   eg : ps -auwx
 看到更加详细的内容
kill pid
   杀死进程
   kill -9 pid
   强杀进程
sleep 让进程进入休眠状态
pkill 进程名 :pkill  sleep
 通过进程名杀死进程

ping host   看看网络通不通。
 ping 172.16.17.250
 exit

ifconfig 查看ip
  在文件中配置ip
  /etc/network/interfaces
  https://blog.youkuaiyun.com/u011077672/article/details/71123319
 

telnet:
 telnet 172.16.17.250
    - telnet服务器模拟一个终端允许你连接并工作于一个远端系统上
 - 使用TCP/IP连接于另一个系统
 
ftp:
 apt-get install ftp : 安装ftp
 ftp 172.16.17.250 :用于文件传输
 exit(或bye) : 退出ftp
 put 文件名
 unzip : 解压zip文件
 
 使用 ftp 复制或传送文件:
    ftp有服务器端和客户端

 ftp(File Transfer Protocol)允许用户对远地主机复制文件,用户毋须考虑操作系统类型,即能向或从任何具有 TCP/IP 的系统复制文件。 ftp命令允许复制目录中的一个文件或所有文件,但不能复制多层 次目录。使用ftp时, 必需在远地主机上设有帐户。 当 ftp 注册到远地系统时,并未得到 shell ,而是通过 ftp 命令解释程序同远地主机进行通讯。
 cd  lcd
  服务器cd 本地cd
 bin,asc 需要设置上传方式和下载方式
    bin : 字节上传
    asc :字符上传
 put 上传文件
  put 文件名
 get 下载文件
  注:只能下载和上传 文件,
  不能下文件夹,也不能穿文件夹
 mput
 mget
 
 prompt 不出现确认的提示信息

 bye  退出ftp 远程服务器
14、环境变量 path
 whereis ls 看看ls在哪
 echo $PATH 查看当前的PATH

 设置/修改临时环境变量:
   变量名=value
        全局修改: 下面文件中存放 全局环境变量内容
   /etc/profile 所有用户有效
   ~/.bashrc    当前用户有效
 
 例子:在start文件中写入命令,设置start的环境变量,执行.bashrc后,start就可以像其他命令一样使用
  touch start
  vi start
  写入:pwd;cal
  vi .bashrc
  在文末写入:export PATH=~:$PATH (设置start的路径:~,因为在home目录下,如果在其他目录,修改路径就可;不能有空格,否则报错;$PATH: 引用原始PATH)
  source .bashrc : 执行.bashrc,相当于将刚更改的写入
  start现在就可以像其他ls,pwd等等命令一样直接使用了
 
重点:
 在控制台中直接输入命令能执行
 原因是因为在PATH中配置了对应可执行文件的所在路径

path:命令的默认搜索路径
 想知道所执行的命令到底在那个目录下?
 which vi 搜索vi所在的路径(在path下搜索,搜索到就停止)
 whereis vi 搜索vi所在的路径(在path下搜索,搜索到继续搜索,直到找到所有的vi)
History
 $ set HISTORY=30 设置最多允许保存前三十个已执行命令的记录
 $ history  显示历史记录信息
 $ history 5  显示第五条历史记录信息
 $ !n   重复执行第n条历史命令
 $ !!   重复执行上一条历史命令
 
别名:针对于系统中已经存在的命令,给它取个别名
 bash:alias h(别名)=history(原始命令)
 $ alias home=’cd;ls’

 alias 显示所有设置的别名
 unalias copy 取消所设置的别名
 (有无取消所有设置的别名)

初始化文件:包含命令和变量的设置,当shell启动时就执行
 对初始化文件再操作系统中分为两级:
 1、系统级(一旦修改,对所有的用户都起作用)
  /etc/profile
 2、用户级(只针对于特定的用户有效)
  /home/user/(用户的家目录下)
    ~/.bashrc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值