Linux 基础知识

用户管理

添加用户

  • 不指定组将创建和用户名一样的组

    $ useradd username
    
  • 创建用户指定组

    $ useradd username -g root
    

修改密码

  • 非root用户只能给自己修改密码
    $ passwd
    

文件管理

文件

  • 创建文件

    $ touch filename
    
  • 删除文件

    $ rm -f filename
    
  • 递归删除文件

    • 使用格式
      $ find directory -name expression -type f | xargs rm -f
      
    • 递归删除当前目录下所有.DS_Store文件
      $ find . -name ".DS_Store" -type f | xargs rm -f
      $ find . -name ".DS_Store" -type f -delete
      
  • 搜索文件

    $ find directory -name expression
    
    • 列出nano开头文件路径
      $ find / -name nano*
      
  • 文件软链接

    $ ln -s /usr/bin/python3.6 /usr/bin/python
    
  • 列出文件信息

    $ ls
    $ ll
    

目录

  • 创建目录

    $ mkdir directory
    
  • 删除目录

    $ rm -rf directory
    
  • 递归删除目录

    • 使用格式
      $ find directory -name expression -type d | xargs rm -rf
      
    • 递归删除当前目录下所有images目录
      $ find ./ -name 'images' -type d | xargs rm -rf
      
  • 切换目录

    • 切换到当前用户目录

      $ cd
      $ cd ~
      
    • 切换到之前的目录

      $ cd -
      

文件内容

  • 搜索内容

    • 搜索一个文件
      $ grep 'text' hello.txt
      
    • 搜索多个文件
      $ grep 'text' hello.txt hi.txt
      
    • 搜索当前目录下所有文件
      $ grep 'text' *
      
    • 搜索当前目录(包含子目录)下所有文件
      $ grep -r 'text' *
      
    • 忽略字母大小写
      $ grep -i 'text' hello.txt
      
    • 显示当前目录下的目录
      $ ll | grep '^d'
      
    • 显示当前目录下的文件
      $ ll | grep '^-'
      
    • 显示当前目录下的所有目录及子目录
      $ ll -R | grep '^d'
      
    • 显示当前目录和子目录下的所有文件
      $ ll -R | grep '^-'
      
  • 输出到标准输出窗口

    $ cat /etc/profile
    
  • 分页显示

    $ cat /etc/profile | more
    

用户和组

  • 修改文件所属用户和组

    • 修改文件所属用户

      $ chown wjj test.txt
      
    • 修改文件所属组

      $ chown :wjj test.txt
      
    • 修改文件所属用户和组

      $ chown wjj:wjj test.txt
      
  • 修改文件所属组

    $ chgrp wjj test.txt
    

软件管理

软件包管理器

  • 配置源

    $ nano /etc/apt/sources.list
    
  • 更新软件列表

    $ apt-get update
    
  • 搜索软件

    $ apt-cache search vim
    
  • 安装软件

    $ apt-get install vim
    
  • 删除软件

    $ apt-get purge vim
    
  • 更新软件

    $ apt-get upgrade
    

软件包安装

  • 下载

    $ apt-get install -d nano
    
  • 安装

    $ dpkg -i nano_2.9.3-2_amd64.deb
    
  • 查找安装的软件

    $ dpkg -l | grep nano
    
  • 删除

    $ dpkg -r nano
    
  • 显示安装的软件

    $ dpkg -l
    

tar

  • 打包

    • 打包(不压缩)
      $ tar -cvf filename.tar filename
      
    • 创建压缩包
      $ tar -zcvf filename.tar filename
      
  • 解包

    • 解包(不压缩)
      $ tar -xvf filename.tar
      
    • 解压缩包
      $ tar -zxvf filename.tar
      
  • 列出包的所有内容

    $ tar -tf filename.tar
    

环境变量

  • ~/.bashrc 配置完后,需要关闭当前控制台,以后打开的新控制台,配置就会起作用。
  • /etc/profile 修改完文件后,运行source /etc/profile方可生效。

  • 显示环境变量

    • 所有环境变量
      $ env
      
    • 指定环境变量
      $ echo $HOSTNAME
      
  • 设置环境变量

    $ export PYTHONPATH=$PYTHONPATH:`pwd`
    
  • 移除环境变量

    $ unset PYTHONPATH
    

程序

命令command

  • 执行Shell程序
    • 执行当前目录下的命令
      $ ./command
      
    • 执行PATH中路径下的命令
      $ command
      
  • 后台执行
    $ nohup command &
    

服务service

  • 启动服务

    $ service ssh start
    
  • 查看服务状态

    $ service ssh status
    
  • 停止服务

    $ service ssh stop
    
  • 重启服务

    $ service ssh restart
    
  • 设置开机自启动

    $ update-rc.d ssh enable
    
  • 设置开机不自启动

    $ update-rc.d ssh disable
    

网络

下载

  • wget

    • 下载文件
      $ wget http://www.163.com/index.html
      
    • 下载文件指定保存文件名
      $ wget http://www.163.com/index.html -O index.html
      
    • 下载文件内容输出到标准窗口
      $ wget http://www.163.com/index.html -O -
      
  • curl

    • 下载文件内容输出到标准窗口
      $ curl http://www.163.com/index.html
      
    • 下载文件
      $ curl http://www.163.com/index.html -O
      
    • 下载文件指定保存文件名
      $ curl http://www.163.com/index.html -o index.html
      

      远程控制

  • 连接

    $ ssh username@ip
    $ ssh username@ip -p 22
    
  • 复制

    • 拷贝远程文件到本地
      $ scp lnsoft@172.16.33.32:/etc/vimrc ./
      
    • 拷贝本地文件到远程
      $ scp /etc/vimrc lnsoft@172.16.33.32:/etc/
      
  • 断开

    1. closing the shell session, e.g. with exit followed by Enter, or Ctrl-d usually allows you to exit the ssh session normally.
    2. in the case where you have a bad connection and the shell is unresponsive, hit the Enter key, then type ~. and ssh should immediately close and return you to your command prompt.

results matching ""

    No results matching ""