Linux操作入门

不问归期 提交于 2019-12-15 14:40:34

Linux操作入门

Windows操作系统常用于单用户编辑和管理文件,当需要多用户共同维护大型服务器时,Linux系统更加便捷、安全。Linux系统中,若干个用户平行存在于家目录"home"下,每个用户在自己的用户目录下工作。

准备工作

  1. Linux终端命令的基本格式是command [-options] [parameter]
    (1) “[ ]”内容可以没有,则采用默认操作
    (2) 注意命令中的空格,不可随意删减
    (3) 注意[-options]中的 “-” 不可省略
    (4) 若存在不止一个options,其前后顺序一般不影响结果, 格式示例如下述“七大基本操作”中的1.(2)
  2. 查询命令
    (1) command --help
    (2) man command
    注: man是manual的缩写;因为有时候命令的说明比较长,无法全部显示,敲 Enter 一次滚动手册页的一行,敲 空格键 显示手册页的下一屏,敲 b 回滚一屏,敲 f 前滚一屏,敲 q 退出
  3. 放大/缩小终端窗口的字体显示
    Ctrl + Shift + =放大
    Ctrl + - 缩小

七大基本操作

  1. 查看当前文件夹的内容:ls, list的缩写
    (1)以 “.” 开头的文件名,该文件是隐藏文件,用ls -a可以查看包括隐藏文件在内的所有文件
    (2)ls -lh可以直观显示文件夹下内容的具体信息; 或者ls -l -h实现相同功能
    (3)ls -lha具备上述两个功能

  2. 查看当前所在的文件夹:pwd,print work directory的缩写

  3. 切换文件夹:cd, change directory的缩写
    (1)cd 或者cd ~:切换到当前用户的主目录(/home/用户目录)
    (2)cd . 表示保持目录不变(一个点表示当前目录)
    (3)cd 两个点:表示返回上一级目录(两个点表示上一级目录)
    (4)cd ~/路径名/:表示相对路径
    注:绝对路径是从根目录开始,而相对路径是相对于当前目录而言。
    (5)路径名前几个字母+Tab键:自动补全
    注:若不止一个目录满足这前几个字母,敲两次Tab键可显示所有符合要求的目录
    (6)cd -:在最近两次工作目录间来回切换

  4. 新建文件夹:mkdir 目录名, make directory的缩写
    (1)目录即文件夹,两者是同一概念
    (2)mkdir -p -a/b/c,一个操作完成多个从属目录的创建,即创建a目录的同时在a目录下创建b目录,同时在b目录下创建c目录

  5. 新建文件:touch 文件名,"摸"一下就创建了个文件
    (1)若该文件已存在,可通过touch命令更改文件最后的修改日期
    (2)同一个文件夹下无法创建相同名称的目录和文件

  6. 删除文件:rm 文件名,remove的缩写
    (1)rm操作是把文件直接从磁盘上清除,不会进入垃圾桶,删除后无法还原
    (2)删除目录用rm -r
    (3)强制删除用rm -f,表示如果不存在该文件也不出现提示

  7. 清屏:clear

文件操作进阶

  1. 以树状图查看目录结构: tree
    注: tree -d树状图只显示目录,不显示文件
  2. 复制:cp 源文件 目标文件
    例:cp ~/Desktop/a/123.txt .321.txt,意思是:将桌面上a文件夹的123.txt复制到当前文件夹下并保存为321.txt
    注:若文件名不变,目标文件的文件名可不写
    (1) cp -i 当出现同名文件的时候,终端提示“是否覆盖?”,安全起见在使用时推荐使用cp -i
    (2) cp -r 复制目录
  3. 剪切/移动:mv 源文件 目标文件
    (1) 和复制命令相似,操作时建议加上-i
    (2) 移动命令和复制命令的区别是,移动文件夹时不需要 -r
  4. 显示文件中的内容:
    (1)cat 文件: 显示文件的全部内容;concatenate的缩写
    注:
    cat -b显示文件的行号,空行的行号不会输出
    cat -n显示文件的行号,空行的行号也会输出
    (2)more 文件: 内容多的时候可以分屏显示
    注:more命令分屏显示的快捷键同“man”查询命令时分屏显示的快捷键
  5. 查找文件:
    例:==find [路径] -name ==
  6. 在文件中搜索/查找指定内容:grep 搜索内容 文件
    (1a)grep -n 显示搜索内容及其在文件中的行号
    (1b)grep -v 取反搜索
    (1c)grep -i 搜索时忽略大小写
    (2a)^a:用于搜索以a开头的行
    (2b)ke$:用于搜索以ke结束的行
  7. 通配符 (可灵活用于搜索等命令中)
    (1) *:代表任意个数个字符(包含没有字符)
    (2)?:代表任意一个字符(有且仅有一个)
    (3)[ ]: 可以匹配“[ ]"中填写的字符组中的任意一个
    例如: [abc]表示匹配a、b、c中的任意一个;[a-f]=表示匹配从 a 到 f 范围内的任意一个字符
  8. 重定向: echo 内容
    (1)只用echo则在终端显示输入的内容
    (2)echo 内容 > 文件: 用于直接创建文件并输出内容
    (3)echo 内容 >> 文件:用于追加
  9. 管道:|, 常用于more和grep命令中, 可以理解为将一个命令的输出通过管道成为另一个命令的输入
    (例1):ls -lh ~ | more:显示家目录下的内容(文件或者文件夹)并分屏输出
    (例2):ls -lha ~ | grep Do:显示家目录下包含Do的内容的项(终端会输出Downloads和Documents相关信息)

远程管理命令

  1. 关机:shutdown 时间
    例: shutdown now
    (1)若shutdown后不输入时间,则按默认,一分钟之后关机;若一分钟之内反悔,则在终端输入 shutdown -c 放弃关机操作。
    (2)一般不使用关机命令,因为关了之后必须手动开机;一般情况下会使用重启。

  2. 重启系统: shutdown -r

  3. 查询网卡配信息:ifconfig
    (概念1)网卡是一个专门负责网络通讯的硬件设备,IP地址(又称域名)是设置在网卡上的地址信息。通俗理解,网卡相当于电话的SIM卡,IP地址相当于电话号码。
    (概念2)每台联网的电脑上都有一个IP地址,是保证电脑之间正常通讯的重要设置,且每台电脑的IP地址不能相同,否则会产生冲突。
    (操作1)查看网卡对应的IP地址: ifconfig | grep inet
    (注意1)一台计算机中可能有一个物理网卡和多个虚拟网卡, Linux中物理网卡的名字通常以ensXX表示
    (注意2)127.0.0.1被称为本地回环/回环地址,一般用来测试本机网卡是否正常

  4. ping测试网络连接:ping 目标IP地址,检测到目标电脑的连接,时间越短说明网速越快
    注:终止程序用Ctrl+C

  5. 远程控制服务器:ssh [-p port] user@remote, ssh含义是secure shell
    (说明1):port是SSH Server监听的端口,默认22可以省略
    (概念1):端口的概念,通过端口号可找到计算机上运行的应用程序
    常用端口号:SSH服务器22;Web服务器80;HTTPS443;FTP服务器21。
    (说明2):user是远程机器上的用户名,若不指定默认为当前用户
    (说明3):remote是远程机器的地址,可以是IP地址
    (注1)输入 exit 退出当前用户的登录
    (注2)ssh终端命令只在Linux或UNIX系统下使用,Windows系统需安装PuTTY或XShell客户端软件之后使用

  6. 远程复制文件:scp -P port 文件 user@remote: 文件
    (1)此命令与上一条命令不同,此命令中是大写P。
    (2)可用 -r 选项传送文件夹
    (3)若“:”之后的路径如果不是绝对路径,则以用户家目录作为参照路径

用户与权限

  1. root用户
    (1)sudo即root用户(substitute user),用于系统维护和安装下载(sudo apt install 安装包)
    (2)groups root可查看到root所属组名是root
  2. 修改文件权限:chmod +/- rwx 文件名或目录名
    (1) +/- 表示增加/减少权限
    (2) r代表read,代号4;w代表write,代号2;x代表excute,代号1。
  3. 组的操作:
    (1)添加组:groupadd 组名
    (2)删除组:groupdel 组名
    (3)确认组信息:cat /etc/group
    (4)递归修改文件/目录的所属组:chgrp -R 组名 文件/目录名
    (注1):组的作用是将若干用户打包
    (注2):上述操作除cat外,均需用sudo操作
  4. 创建用户&设置密码:
    (1)添加新用户:useradd -m -g 组 新建用户名
    (注1): -m作用是自动建立该用户的家目录;若创建用户时忘记-m选项,最便捷的解决办法时删除用户,重新创建
    (注2): -g用于指定用户所属组,若不输入“-g 组”,那么默认建立一个和用户同名的组
    (2)设置密码:passwd 用户名
    (注1):可用于初始设置密码或重新设置密码
    (注2):往往创建用户之后接着设置密码,因为远程管理必须输入密码
    (3)确认用户信息:cat /etc/passwd | grep 用户名
    注:用户信息保存在/etc/passwd文件中
  5. 删除用户:userdel -r 用户名,-r选项时自动删除用户的家目录(各用户的家目录在home目录下)。
  6. 查看用户信息
    (1)查看用户信息UID和组信息GID:id [用户名],[用户名]省略则默认查看当前用户的信息
    (2)查看当前所有登录的用户列表(有若干远程登录的用户):who
    (3)查看当前登录用户的账户名:whoami
    附:查看执行命令所在位置:which 命令
  7. 修改用户信息:
    (1) 修改用户的主组:usermod -g 组 用户名
    (2) 修改用户的附加组:usermod -G 组 用户名
    (3) 修改用户登录shell:usermod -s /bin/bash 用户名
    (注1):shell有两种类型,bash类型比dash更好,有不同颜色显示,更清楚
  8. 切换用户或退出登录
    (1)切换用户并切换目录:su - 用户名
    (注1):用户名前的 “-” 用于切换用户家目录;若用户名之前没有"-",则仅切换用户而不切换家目录(保持位置不变)
    (注2):su后不接用户名,可切换至root用户,但建议
    (2)退出当前登录用户:exit

查看系统信息

  1. 系统时间/日期:
    (1) 查看时间:date
    (2) 查看日历:cal ,calendar的缩写,-y选项可以查看一年的日历,若没有选项则查看一个月的日历
  2. 磁盘信息
    (1)显示磁盘剩余空间:df -h,df是disk free的缩写
    (2)显示目录下的文件大小:du -h 目录名,du是disk usage的缩写
    注:-h是人性化显示(有标题有单位)
  3. 进程信息
    (1) 查看进程详细情况:ps aux;ps是process status的缩写,a显示终端上所有用户的进程,u显示进程的详细状态,x显示没有控制终端的进行;若省略aux则默认只显示当前用户通过终端启动的应用程序。
    (2) 动态显示运行中的进行并排序:top;注意退出top要输入q
    (3) 终止指定代号的进程:kill [-9] 进程代号;-9表示强行终止。注意不要终止root身份开启的进程,否则可能导致系统崩溃。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!