Linux Shell

前言

1. 格式: command [-options] [parameter]

2. 注意:区分大小写

3. Ctrl + C: 终止当前操作(Tip:若想删除当前命令行的命令,但内容过多,用Backspace删除键十分麻烦,可用 Ctrl + C 直接弹出新的命令行)

4. 帮助: command –help / man command

 

终端小Tip

 

快捷键 功能
Ctrl + C 终止程序
Ctrl + U 剪切光标前至行首的内容
Ctrl + W 剪切光标前一个单词
Ctrl + A 移动光标到行首
Ctrl + E 移动光标到行尾
Alt + B 跳到上一个空格
Alt + F 跳到下一个空格
Ctrl + L / clear 翻页清屏(前面的内容还在)
reset 清屏(清除之前的操作指令)

 

 

切换路径 cd

1. ‘.’为当前目录,’..’为上一级目录(每个文件夹在创建的时候,都会以自动创建 . 和 .. 隐藏目录 )

  • cd ..返回上一级目录

2. cd 或 cd ~:返回用户根目录~

3. cd /:返回系统根目录

4. cd -:在最近两次目录中来回切换

 

查看目录信息

1. ls 

  • 英文全称:list
  • options
选项 含义
-a

显示所有子目录和文件,包含隐藏文件

-l

以列表的方式显示文件的详细信息

-h

以人性化的方式显示文件大小,需配合 –l 使用,单独使用不起作用

 

 

 

 

 

 

 

 

  • parameter 可配合 通配符 使用
符号 含义
* 可表示任意个字符
可表示任意一个字符
[] 表示匹配字符组中的任意一个

 

 

 

 

 

 

2. tree

选项 含义
-d 只显示目录

 

 

 

3. 打印当前路径 pwd

英文:print working directory

 

创建文件夹 mkdir

  1. 英文全称:make directory
  2. windows 命令行:md / mkdir
  3. 递归地创建目录:mkdir -p a/b/c/d
  4. 注意:新建目录不能与当前路径下的已有目录或文件同名

 

 新建文件

1. touch

  • 创建隐藏文件:touch .a.txt
  • 如果文件不存在,可以创建空白文件
  • 如果文件存在,可以修改文件的末次修改日期

2. 创建非空文件:echo + 重定向

 

重定向

1. 作用:将终端显示的文本保存到文件

2. 配合echo使用,创建非空文件

3. >,表示输出,覆盖文件原内容

  • echo abc > a.txt
  • ls -lh > a.txt

4. >>,表示追加,将内容追加到已有文件的末尾

 

管道 |

1. 作用:将一个命令的输出通过管道作为另一个命令的输入

2. 常用命令

  • more,如 ls -lha ~ | more
  • grep,如 cat 123.txt | grep abc

 

文件操作

1. 复制 cp

  • -i,覆盖文件前提示
  • -r,复制目录文件,会递归地复制该目录下的所有字目录和文件

2. 移动 mv

  • -i,覆盖前提示
  • 若移动到当前目录,文件名不同,可重命名

3. 删除 rm

  • 注:删除后不能恢复
  • -f,强制删除,忽略不存在的文件,无任何提示
  • -r,递归地删除目录下的内容,删除文件夹时必须选择此选项
  • 通配符同样适用
  • 系统根目录下,rm -rf * 会使整个系统崩溃

 

查看文件

1. cat

  • 英文全称:concatenate
  • 一次性显示所有内容,适合查看内容较少的文本文件
  • -b,对非空输出行进行编号
  • -n,对所有输出行进行编号

2. more

  • 分屏显示文件内容,每次只显示一页
  • 操作键(同 man 命令)
    • 空格,显示下一屏
    • Enter,一次滚动一行
    • b,回滚一屏
    • f,前滚一屏
    • q,退出

 

查找文本

grep [options]  查找的文本 文件

  • grep -n,显示匹配行及行号
  • grep -i,忽略大小写
  • 模式查找
    •  ^a,搜索以a开头的行
    • a$,搜索以a结尾的行

 

远程管理

1. 关机/重启:shutdown [options] 时间

  • 不指定选项和参数,默认表示1分钟后关闭电脑
  • shutdown -r now,立即重启
  • shutdown 20:25,表示在今天20:25关机
  • shutdown + 10,表示10分钟后自动关机
  • shutdown -c,取消关机,一分钟之内有效
  • -r,重启,在远程维护服务器时,最好不要关闭系统,应该重启系统

2. 查看/配置网卡信息

  • ifconfig,英文:configure a network interface
  • ping ip

3. 远程登录SSH(Secure Shell)协议

  • ssh [-p port] user@remote ip/域名/别名
    • user不指定的话,默认为当前用户
    • port SSH Server监听的端口,默认为22
  • 远程拷贝文件 secure copy
    • scp -P port user@ip:文件名或路径 user@ip:文件名或路径
    • 选项 -r,递归地复制
  • 配置别名

 

组、用户和权限

 

权限 英文 缩写 数字代号
read r 4
write w 2
执行 excute x 1

 

1. chmod

  • chmod +/-rwx 目录或文件
  • 递归修改目录或文件权限:chmod -R 755 文件名/目录名

 

4+2+1 7 rwx
4+2+0 6 rw-
4+0+1 5 r-w
4+0+0 4 r--
0+2+1 3 -wx
0+2+0 2 -w-
0+0+1 1 --x
0+0+0 0 ---

 

 2. 超级用户

  • 用来系统的维护和管理,对操作系统的所有资源具有所有访问权限
  • 系统默认用户为“标准用户”
  • su,英文全称:substitute user
  • sudo,密码有5分钟的有效期限

3. 组

  • 添加组,sudo groupadd 组名
  • 删除组,sudo groupdel 组名
  • 确认组信息,sudo cat /etc/group
  • 修改文件/目录的所属组,sudo chgrp -R 组名 文件/目录

4. 用户

  • 添加新用户,sudo useradd -m -g 组 新建用户名(-m,自动建立用户家目录;-g,组)
  • 设置用户密码,passwd 用户名
  • 将新用户添加 root 权限
    • hongkai ALL=(ALL:ALL) ALL
  • 改变新用户的shell
    • 查看用户当前的shell:echo $SHELL
    • 查看系统的shell:cat /etc/shells
    • 命令行:sudo vim /etc/passwd,在用户后面添加 /bin/zsh (例如要切换 zsh)
  • 删除用户,sudo userdel -r 用户名(-r,自动删除用户家目录)
  • 查看用户信息
    • id [用户名]
    • who,查看当前所有登陆的用户列表
    • whoami,查看当前登陆的用户
  • 切换用户
    • su - 用户名,切换到用户的家目录
    • exit 退出
  • 修改文件/目录拥有者:chown 用户名 文件名/目录名

 

系统信息

1. 时间和日期

  • date
  • cal [-y]

2. 磁盘和目录空间

  • df -h,以人性化的方式查看磁盘剩余空间,disk free
  • du -h [目录名],以人性化的方式查看目录下的文件大小,disk usage

3. 进程信息

  • ps,全称 process status,查看进程详细状况
    • -a,显示终端上的所有进程,包括其他用户的进程
    • -u,显示进程的详细状态
    • -x,显示没有控制终端的进程
  • top,动态显示运行中的进程并排序,退出 q
  • kill -9 进程代号,-9表示强制终止

 

软链接

1. 命令:ln -s 被链接的源文件 链接文件

  • 类似于快捷方式
  • 用绝对路径
  • 若没有 -s 选项,建立的是一个硬链接文件

 

打包压缩

1. 打包/解包 tar

  • tar 是 linux 中最常用的备份工具
  • 打包:tar -cvf 打包文件.tar 被打包的文件/路径;若同时打包多个文件,用空格隔开
  • 解包:tar -xvf 文件.tar
选项 含义
c 生成档案文件,创建打包文件
x 解开档案文件
v 列出归档解档的详细过程,显示进度
f 指定档案文件名称,后面必须接 .tar
z 调用命令 gzip
j 调用命令 bzip2

 

2. 压缩/解压缩

  • gzip (xxx.tar.gz)
    • 压缩文件:tar -zcvf 打包文件.tar.gz 被压缩文件
    • 解压缩:tar -zxvf 打包文件.tar.gz -C 目标路径 (注:目标路径必须存在)
  • bzip2 (xxx.tar.bz2)
    • 压缩:tar -jcvf
    • 解压缩:tar -jxvf

 

软件安装与卸载

1. 通过 apt 安装软件

  • apt,Adcanced Packaging Tool
  • sudo apt install 安装包
  • sudo apt upgrade

2. 卸载软件

  • apt-get remove 卸载软件包,保留配置文件
  • apt-get autoremove 卸载作为依赖而自动安装的软件包(坑,慎用!)
  • apt-get purge / apt-get --purge remove 卸载并清除软件包的配置
  • apt-get clean 删除 /var/cache/apt/archives 下的 deb 文件,即清理缓存的安装文件
  • apt-get autoclean  删除已卸载的软件包的安装文件

 

其他

1. which

  • cd 命令内置在系统内核中,没有独立程序,不能用which查看
  • /bin,存放二进制执行文件 (binary)
  • /sbin,存放系统管理执行文件 (system binary)
  • /user/bin,存放安装的软件
  • /user/sbin,超级用户的管理程序

2. find

  • find [路径] -name "*.py":查找指定路径下扩展名为.py的文件,包括子目录

  

 

posted @ 2019-03-09 15:03  Hongkai_Ding  阅读(332)  评论(0编辑  收藏  举报