一些基本概念

命令后面 –后面跟着选项 不加- 是参数 ,参数先后顺序没有区别 -a -h -l 可以省略为 –ahl 参数和选项顺序也没有影响
文件以 . 开头相当于一个隐藏文件
–help 查看该命令的帮助文档 或者man + 命令 ,可以上下显示, 用q退出man显示 f是往下一屏 b是网上一屏
如果要有权限 命令前面加上 sudo
sda1:硬盘的第一个分区 后面插入的驱动器都会为 sdb sdc….

  • 通配符,比如 ls 2* 显示2开头的文件和文件夹 ? 代表一个位置 [] 也占一个位置 可以限制内容(正则表达式)
    > 重定向 把应该显示的内容 存储到文件里去,会把文件清空再写入.>> 是追加到文件中 文件不存在时会创建
    | 管道,左边是一个命令 右边是一个命令, 将两个命令结合,多个命令一起执行使用;分隔
    . 表示当前路径,..表示上层路径
    ctrl+c 不执行当前输入的命令并且换一行

一些基础命令

ls # 显示所有文件和文件夹名称  -a 全部 -l 列表显示具体信息   -h 要配合-l使用 显示列表的时候以合适单位显示
ll # 相当于 ls -l
pwd # 显示路径名称
touch # 创建文件
mkdir # 创建文件夹
mkdir a/b/c/d -p # 自动创建依赖的文件夹
rmdir # 删除文件夹
rm # 删除文件 -r 强制删除非空文件夹(递归删除)
clear # 清屏
tree # 查看目录树
cat # 查看文件中的内容 后面可以跟多个文件,同时查看多个文件
more # 查看一个文件,可以使用f和b控制查看 q退出 ls -alh /路径 | more | 称为管道,然后用more显示
history # 查看之前执行的命令 !序号 根据history中的序号执行

rm # 删除命令 -rf 强制删除

cd # cd ./A 表示当前目录下的A文件 cd .. 表示进入上一个路径 cd ../.. 进入上层目录的上层目录
cd - # 回到上一个路径,只记忆一次
cd ~ #进入home目录 home/用户名

ln -s 文件名 # 快捷方式名称 软链接(创建文件的快捷方式)
ln 文件名 # 快捷方式名称 硬链接,原文件被删除后后面的文件还可以使用
mv # 可以重命名可以移动 后面跟上 原文件名 目标名 重命名文件和文件夹 跟上 文件名 路径名或者文件夹名 表示剪切到对应路径
grep "" 文件名 # 在文件中查找包含 "" 中的内容 -n 显示在哪一行 -v 不包含""中的内容, 在"" 中以^开头表示必须以""中的内容开头 以$结尾表示必须以""中的内容结尾
cp # 复制 后面跟上 文件名或文件夹名 文件夹名 表示把文件或文件夹移动到对应位置 后面跟上 -r 可以移动包含其他内容的文件夹

find 路径 -name "内容" # 根据内容搜索路径中的文件 -size 根据size找
find . -depth -name "libcore"
find . -depth -name "SignalStrength.java" # 查找当前目录下文件名为字符串
find . -name \*.mk -print0 | xargs -0 grep "xxx"

# cvf打包不会压缩内容,压缩时使用 -zcvf xxx.tar.gz 压缩打包为gz文件, -zxvf 解压
# bz2打包 -jcvf 使用bz2格式打包 -jxvf bz2比gz的大一些
# zip文件更大 解压可以使用-d 指定路径
tar -cvf text.tar *.py #将符合条件的内容打包为tar文件 tar -xvf text.tar 解包 默认解压到当前路径 后可以跟上 -C 路径 表示解压到指定路径
zip zzz.zip *.py
unzip zzz.zip

which 命令名称 # 查看命令对应的是哪个文件

ps # 显示当前终端中的进程 ps -aux 显示所有开启的进程
top # 根据cpu占用排序实时显示进程 htop 更详细
kill # 对应的pid 根据pid杀掉进程 -9 强制杀掉

reboot # 重启
shutdown -h now # 立刻关机 -h后面带上时间 在对应时间关机

df -h #硬盘使用的情况
du -h #当前路径占用多大空间
ifconfig # 查看ip地址信息
sudo ifconfig 网卡名称 ip # 更改网卡对应的ip
ping ip地址 # 查看对应的ip地址是否能通信

sudo useradd 账户名 -m # 添加账户,-m指创建和用户名称一样的文件夹,不添加没有, /etc/passwd 文件里面存储的账户
userdel 删除账户 # 删除账户不会删除用户文件夹 加上-r 会删除账户文件夹
passwd 账户名 # 设置账户的密码
su 账户名 # 切换到账户 su - 账户名 切换到账户并将当期所在目录切换到账户目录
exit # 注销账户 会切换到原来的账户 whoami 查看当前账户

ssh 用户名@ip地址 # 远程控制对应电脑 windows不能识别ssh需要用 xManager软件的xShell
who # 查看有哪些账户登录
sudo -s # 切换到超级管理员 $是普通账户 #是超级管理员,这个只适用于Ubuntu 其他系统用 su root
groupadd 名称 # 添加用户组 sudo adm 组中可以使用sudo
groupdel # 删除 cat /etc/group 查看当前所以用户组 groupmod tab也可以查看到
sudo usermod -a -G 组名 用户名 # 将用户名添加到组
chown 用户名 文件名 # 修改文件拥有者
chgrp 组名 文件名 # 修改文件用户组

# 文件权限标识符: 文件类型(-是普通文件,d是文件夹) 文件拥有者的权限 同组者的权限 其他人的权限
# r可读 w可写 x可执行
chmod u=rwx 文件名 # 字母修改文件权限 u 文件拥有者 g 同组 o其他人 chmod o=rx xx.py chmod u=r,g=r,o=r x.py 同时修改使用,隔开
chomd 137 x.py # 数字修改文件权限 r=4 w=2 x=1

cal # 查看今天的日历 -y 年份 查看那一年的日历
data # 查看时间 data "+%Y年%m月%d日" 按照格式大爷 y表示只显示年后2位

编辑器

gedit(少用) sublme(3平台都有)

vi 和 vim

vim 文件名 若文件不存在会创建,若退出时为空文件不存在
若以非正常方式关闭了vi编辑器,会以一个隐藏文件的形式将未保存的内容保存
默认为命令模式 点击IA进入编辑模式,点击exc回到命令模式,命令模式输入:进入末行模式,点击exc回到命令模式

  1. 命令模式 :
    插入:

    i 在光标前方插入 
    a 在光标后方插入
    o 在下一行插入
    I 在行首插入
    A 行末
    O 上一行
    yy复制光标所在的一行 先按数字再按yy 表示复制多少行
    p粘贴
    u撤销 ctrl+r 反撤销
    dd删除光标所在的一行 先按数字再按dd 光标所在的位置删除多少行 dd实际上是剪切功能.
    h左 l右 j下 k上
    M光标定位到中间 L 当前屏幕的下方 H 当前屏幕上方
    ctrl+f往下翻一页 ctrl+b往上一页 ctrl+d向下半屏 ctrl+u往上半屏
    输入数字 G 定位到多少行 G定位到最后一行 gg定位到第一行
    w 跳到下一个单词的开始处 b 跳到上一个单词的开始处
    D 从当前光标处剪切到行末
    d0 从当前光标开始剪切到行首
    x 删除当前光标位置的一个内容 X 删除当前光标前的一个内容
    v 上下左右控制选中 V 上下控制选中一整行
    >> 右移 << 左移
    . 重复上一次的命令
    { 按段上移 } 按段下移
    dw 删除光标开始位置的单词
    r 内容 将光标位置的内容替换为输入的内容
    R 内容 从当前光标开始往后替换编辑
    / 内容 高亮显示文笔中的内容 n下一个查找的内容 N上一个查找的内容
    shift+zz 保存退出
  2. 末行模式

    %s/内容1/内容2/g  将内容1都替换为内容2  比如 %s/hello/world/g
    行数1,行数2s/内容1/内容2/g 将从行数1到行数2中的内容1替换为内容2 比如 11,16s/hello/world/g
    :w 保存 q退出 wq保存退出 x相当于wq
    :q! 强制退出不保存