linux基础

Linux基础

Linux常用命令

  • useradd 创建新用户
  • passwd 为用户设置密码
  • userdel 删除用户
  • su 切换用户,suswitch user 的缩写,从新的用户状态下输入 exit 即可退回到刚才的用户状态
  • date 显示系统时间
  • cal 显示日历
    cal 3 2003 显示2003年3月的日历
  • timedatectl status 显示详细时间
  • clear 清屏
  • ls list的缩写,显示文件夹内的目录和文件
  • cd 进入目录
    cd .. 进入父目录,cd / 进入根目录,cdcd ~ 进入home下的用户目录
  • tree 显示树形的层级目录结构,非原生命令,需要安装tree
  • pwd 显示当前所在目录
  • mkdir 创建一个新目录
  • mkdir -p 级联创建新目录,即使上级目录不存在,会按目录层级自动创建目录,好处是一次可以创建多级文件夹
  • rmdir 删除一个空文件夹,如果目录非空,会出现错误信息 Directory not empty
  • rmdir -p 级联删除空文件夹
  • touch 创建文件,当文件不存在时,则创建一个新的文件。touch只能创建空文件,可更改文件或目录的日期时间,包括存取时间和更改时间
    例:touch test.txt 在当前目录下创建test.txt(注:Linux下没有文件后缀名区分文件类型之说,系统文件类型只有可执行文件和不可执行文件)
  • vim 编辑文件,如果文件不存在,则创建文件
  • chmod 修改文件或目录的权限
  • cat 从第一行开始显示文件内容
  • tac 从最后一行开始显示文件内容
  • more 功能类似于cat,more会一页一页的显示,按space空格键显示下一页,按b键上一页显示
  • less 与more功能类似,less可以随意浏览文件,more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件
  • head 显示文件的开头内容,默认显示前10行,head test.txt -n 20 head -n 20 test.txt 显示文件的前20行内容
  • tail 显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用查看日志文件,tail test.txt -n 20 tail -n 20 test.txt 显示文件的后20行内容
  • rm 删除文件,不能删除目录
  • rm -f 强制删除文件,不能删除目录
  • rm -rf 递归强制删除文件夹下的所有文件夹和文件
  • cp 将文件复制到指定目录
  • mv 移动目录或文件,重命名目录或文件
    例:mv 557.txt ../a12 将557.txt文件移动到父目录的a12文件夹下,mv a12 a34 将目录a12重命名为目录a34
  • grep 强大的文本搜索命令
    grep 23 test.txt 在当前目录中,test.txt文件中包含23字符的行,并打印出该字符串的行
  • ln 建立链接
  • echo
  • which 查看可执行文件的位置
  • whereis 查看文件的位置
  • locate 配合数据库查看文件位置
  • find 实际搜寻硬盘查询文件名称
  • tar 用来压缩和解压文件。tar 本身不具有压缩功能,只具有打包功能,有关压缩及解压是调用其它的功能来完成。弄清两个概念:打包和压缩。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件,tar -cvf log.tar 1.log,2.log 将两个文件打包成tar包
  • chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户 ID;组可以是组名或者组 ID
  • lsblk 查看当前磁盘状况,sata硬盘名称一般都为sd开头,ssd硬盘名称为nvme开头
  • df 显示磁盘空间使用情况。获取硬盘被占用了多少空间,目前还剩下多少空间等信息,如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示。默认情况下,磁盘空间将以 1KB 为单位进行显示
  • du 查看目录和文件所使用磁盘空间的大小,du -h ./test.txt 以易读方式显示当前目录下test.txt文件的大小
  • wc 统计指定的文件中的行数,单词数,字节数,文件名,并将统计结果输出
    cat test.txt | wc -l 统计输出结果的行数
  • ps 查看当前运行的进程状态
  • top 显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等
  • kill 终止进程
    kill -9 $(ps -ef | grep pro1) 先使用ps查找进程pro1,然后用kill杀掉
  • free 显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
  • netstat 显示网络状态,首先要安装net-tools
  • sync 在内存中尚未被更新的数据被写入硬盘中
  • uname -a uname -r 查看当前操作系统版本的内核信息
  • cat /proc/version 查看当前操作系统版本信息
  • cat /etc/issue cat /etc/redhat-release 查看当前操作系统发行版信息
  • cat /proc/cpuinfo 查看cpu信息
  • hostname 查看主机名称

Linux重要文件

/etc目录下的重要文件

/etc/rc.local 存放开机自启动内容的文件。chkconfig -一般用来管理yum/rpm包装的服务。
/etc/fstab 开机自动挂载文件
/etc/inittab 运行级别的配置文件
/etc/profile 环境变量配置文件
/etc/bashrc 配置命令别名
/etc/motd 登陆系统后显示文件内容
/etc/issue /etc/issue.net 登陆系统前显示
/etc/locale.conf 字符集配置文件
/etc/passwd 账号信息文件
/etc/shadow 账号密码信息文件
/etc/sudoers 可以执行sudo命令的配置文件(权限提升)
/etc/rsyslog.conf 日志设置文件,限C6.X
/etc/resolv.conf 设置Linux本地的DNS的配置文件
/etc/host 域名和IP地址的对应关系

/var目录下的重要文件

/var/log/messages 默认的系统日志文件,非常重要
/var/log/secure 记录系统登陆信息
/var/spool/cron/root 定时任务crontab的默认路径,按用户名命令的文件。
/var/spool/clientmqueqe sendmail临时文件目录,需定时清理clientmqueue目录垃圾文件防止占满磁盘空间。

/proc目录下的重要文件

/proc 虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
/proc/version 内核版本
/proc/cupinfo 关于处理器的信息,如类型,型号和性能等
/proc/meminfo 系统内存信息
/proc/interrupts 正在使用的中断
/proc/loadavg 系统负载的信息

/usr目录下的重要文件

/usr/local 自编译安装软件存放目录
/usr/src 内核源码存放目录

/dev目录下的重要文件

/dev/sda磁盘
/dev/urandom (生成输出随机内容文件)
/dev/urandom 生成随机内容 tr + head
/dev/zero 不断输出信息
/dev/null (黑洞 把东西放进去就没了)
/dev/urandom 生成输出随机内容

Linux常用快捷键

  • vim中可输入 /关键字 查找该文档中的内容,查找时 dd键 剪切一行命令,yy键 复制一行命令, gg键 回到文档顶部, x键 剪切一个字符, p键 粘贴一行命令, n键 查找下一个符合条件的信息, esc键 :wq 保存退出编辑状态,
  • tab键提示命令或补全命令
  • ctrl+C停止当前程序
  • 有图形界面的情况下,按CTRL+Alt+f1就可以切换到文本界面,按CTRL+Alt+f2就可以切换到图形界面
  • 终端翻页快捷键shift+pgup,shift+pgdn

基本知识

  • shell和bash的关系
    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
    Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务Shell 脚本(shell script),是一种为 shell 编写的脚本程序。
    业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script 是两个不同的概念

    bash(GNU Bourne-Again Shell)是最常用的一种shell。是当前大多数Linux发行版的默认Shell。其他的shell还有:sh、bash、ksh、rsh、csh等。Ubuntu系统常用的是bash,Bio-linux系统是基于ubuntu定制的,但是却使用了zsh。

    sh的全名是Bourne Shell。名字中的玻恩就是这个Shell的作者。

    而bash的全名是Bourne Again Shell。最开始在Unix系统中流行的是sh,而bash作为sh的改进版本,提供了更加丰富的功能。一般来说,都推荐使用bash作为默认的Shell。

    Shell相当于是一个翻译,把我们在计算机上的操作或我们的命令,翻译为计算机可识别的二进制命令,传递给内核,以便调用计算机硬件执行相关的操作;同时,计算机执行完命令后,再通过Shell翻译成自然语言,呈现在我们面前。

    echo $SHELL 可以查看当前Linux系统使用的shell类型

  • vi和vim的关系
    vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本,它不仅兼容vi的所有指令,而且还包含一些新的特性,vi适用于文本编辑,vim更适用于coding。

    vi有3个模式:插入模式、命令模式、低行模式。

    1. 插入模式:在此模式下可以输入字符,按ESC将回到命令模式。
    2. 命令模式:可以移动光标、删除字符等。
    3. 低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。

    vim一共有4个模式:

    • 正常模式 (Normal-mode)
    • 插入模式 (Insert-mode)
    • 命令模式 (Command-mode)
    • 可视模式 (Visual-mode)
posted @ 2020-10-29 17:09  姜春朝  阅读(104)  评论(0)    收藏  举报