1. terminator

ctrl+alt+t : 打开终端

cx:表示当前终端用户名

@: at

cx-virtual-machine: 当前登录的主机名 后接当前工作目录

#: 超级管理员用户


![](https://g.yuque.com/gr/latex?%EF%BC%9A
%20%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%20%E4%B8%8E#card=math&code=%EF%BC%9A%2A%2A%20%E6%99%AE%E9%80%9A%E7%94%A8%E6%88%B7%20%E4%B8%8E)

~:当前用户根目录

root切换

即在命令行中如何切换到root用户下:

  1. cx@cx:~$ su root
  2. 密码:
  3. su:认证失败
  4. cx@cx:~$ sudo passwd root
  5. 输入新的 UNIX 密码:
  6. 重新输入新的 UNIX 密码:
  7. passwd:已成功更新密码
  8. cx@cx:~$ su root
  9. 密码:
  10. root@cx:/home/cx#
  11. ctrl+d退出root
  12. 然后才能关闭终端

linux下c++编程

sudo apt install vim
sudo apt install vim-gtk
sudo apt-get install g++
sudo apt-get install cmake
whereis gcc
whereis g++
cd ~
vim test.cpp
g++ test.cpp -o test
ls -la 
...  ...  ... test ...
./test

2 Linux终端与基本指令 - 图1

TAB 快速输入指令

ctrl+u ctrl+k 快速删除光标前后内容

2. VMware备份

1. 菜单‘虚拟机’ - ‘快照’ - ‘拍摄快照’

快照恢复:虚拟机 - 快照 - 快照管理器

2. 使用克隆

3. Linux系统的文件

目录结构

1 bin : binary 二进制,存储一些二进制文件,文件都是可以执行的

2. Dev: device 存放一些外接设备, 盘,光盘。其中的外接设备不能被直接使用,需要挂载(win的分配盘符)

3. etc : 存储配置文件 and so on /etc/passwd 存储用户信息

4. home: 除了root用户以外的其他用户根目录 win的user

5. proc: process 表示进程,存储Linux运行中的进程

6. root:root用户的根目录

7. sbin: super binary,存放一些可以被执行的二进制文件,必须super user可以执行

8. tmp: temporary,存放临时缓存文件

9. usr: 存放用户自己安装的软件 win的program files

10. var:variable 程序/系统日志变量文件

11. mnt: 挂载目录

4. 指令与选项

1. 一个完整的指令的标准格式:Linux通用格式

指令 [选项] [操作对象] []表示可选

一个指令可以包含多个选项

操作对象也可以是多个

2. 基础指令

1. ls指令 list

ls              列出当前目录下所有文件/文件夹名称
ls 路径        列出指定路径下的所有文件/文件夹名称
ls 选项 路径    列出指定路径下的所有文件/文件夹名称,并以指定选项格式来显示

./ 表示当前目录

../ 表示上一级目录下

../../ 上上一级

ls -l path: 表示以详细List形式展示

ls -la path : 显示所有文件和文件夹 包含隐藏

ls -lh path 列出指定路径下所有文件/文件夹名称,以list形式,可读性较高的显示形式 h human

2 Linux终端与基本指令 - 图22 Linux终端与基本指令 - 图32 Linux终端与基本指令 - 图42 Linux终端与基本指令 - 图5

第一列: -/d 表示文档类型 -普通文件 d文件夹directory

不能命名为关键字

3. cd change directory 切换工作路径

cd ~ 
cd /root
cd ../../asd
cd ./das

4. mkdir make directory 创建目录

`mkdir path`

note: ls列出的结果颜色:蓝色:文件夹; 绿色:权限为拥有所有权限; 黑色:文件

mkdir -p path创建多级目录

5. touch 创建文件

touch path path可以是直接的文件名也可以是路径。可一次创建多个文件

touch ./linux.txt

6. cp copy复制

copy cpath path 复制cpath的文档到path

cp linux.txt /home/asd/ads/linux.txt
cp linux.txt /home/asd/ads/linux22.txt

当使用cp复制文件夹操作:需要添加选项-r

cp /linux/ -r ./home/asas/asas/linux

7. mv move 移动文档到新的位置/c重命名

mv mpath path 移动mpath的文档到path

mv /home/1/ /  1移动到/
mv /home/1 /home/2 若2存不存在,表示为1重命名为2

8. rm remove 移除/删除指定文档

rm [选项] path -f force强制删除 -r recursion 表示递归删除目录 可以一次删除多个文档

rm /1
不带选项,会提示是否删除 y/n
rm -f /1 强制删除
rm -r /1/ 删除目录下所有文件,需要做递归删除,使用 -r 会出现提示
rm -rf /1/ 强制删除目录下所有文件
rm -f 1* 删除所有同名为1的文档

* 通配符

9. vim命令

vim 是一款文本编辑器

vim path 打开path的文本文件(可以不存在)

shift+; + q退出vim

10. 输出重定向

一般指令的输出会显示在终端中,有些时候需要将一些命令的执行结果想要保存在文件中进行后续操作。则这时候需要输出重定向

>:覆盖输出,会覆盖掉原先的文件内容

>>:追加输出,不进行覆盖

11. cat

作用1:直接打开文件 cat path直接输出

作用2:合并文件,配合输出重定向 cat path1 pathn > path3

2 Linux终端与基本指令 - 图6

12 ln -s path1 path2 给path1创建快捷方式软连接path2

3. 进阶指令

1. df 指令 查看磁盘空间

df -h

2 Linux终端与基本指令 - 图7

2. free 指令 查看内存

free -m查看内存使用情况 -m 内存单位m -mh 显示单位m

3. head 指令

head -n path 作用: 查看一个文件的前n行,默认前10行

4. tail 指令

tail -n path: 查看一个文件的倒数n行,默认倒数10行

tail -f path : 查看一个文件的动态变化 -f -follow一般用来看日志 按q退出

2 Linux终端与基本指令 - 图8

5. less 指令

less path 查看文件,以较少的内容输出,按下辅助功能键(数字+回车,空格键翻页,上下键)查看更多

6. wc 指令 统计文件信息

wc -lwc path 统计文件内容信息(行数lines-l、单词数words-w、字节数bytes-c

7. date 指令 时间

date 表示操作时间日期(读取+和设置) 2020年 06月 06日 星期六 15:03:03 CST

+%前后都可以

date +%F (format) 2020-06-06 date "+%Y-%m-%d"

date "+%F %T" 2020-06-06 15:07:17 date "+%Y-%m-%d %H:%M%S"

获取之前或者之后的时间(备份):

date -d "+1 days" "+%Y-%m-%d %H:%M:%S" 2020-06-07 15:26:44

date -d "+1 years" "+%Y-%m-%d %H:%M:%S" 2021-06-06 15:27:03

符号的可选值: `-` 前`+`后

单位的可选%F值:         day year month

+表示读取,“”表示内部以一个整体输出 %F : 完整的年月日 %T:完整的时分秒

8. cal 指令 calendar 日历

cal 直接输出当前月份的日历 cal -1

cal -3 上一个月 本月 下一个月

cal -y 20182018 年

9. clear/ctrl+l指令 清除终端中已经存在的命令和结果

clear ctrl+l

10. 管道 输入|输出

管道一般用于 过滤, 特殊扩展处理,不能单独使用 起辅助作用

ls ./ |grep xxx 过滤:需要通过管道查询出包含xxx的文件

2 Linux终端与基本指令 - 图9

使用管道组合指令

ls / -l | wc -l 查询当前目录下的文件,list输出 | 统计行数

2 Linux终端与基本指令 - 图10

11. whereis <name>查看文件地址

4. 高级指令

1. hostname 操作服务器主机名(读取、设置)临时性的

hostname 输出完整主机名

hostname -f 输出当前主机名中的FQDN(全限定域名)

2. id查看用户基本信息(用户id 用户组id 附加组id)

id

id <username> 显示指定user信息

3. ps -ef 查看进程

    `-e`: 等价于-A,列出全部进程

    `-f`:显示全字段(列)

2 Linux终端与基本指令 - 图11

uid 用户id PID 进程id PPID 进程的父级进程id,如果一个程序的父进程找不到,则该进程称之为僵尸进程 C CPU占用率 STIME 进程的启动时间 TTY 终端设备发起该进程的设备识别号,如果显示 则表示该进程并不是由终端设备发起 TIME 进程的执行时间 CMD 该进程的名称或对应的路径

ps -ef|grep <processname> 查看进程状态

4. top 查看服务器进程占用资源 动态显示

q退出

2 Linux终端与基本指令 - 图12

PR 优先级 VIRT 虚拟内存 RES 常驻内存 SHR 共享内存 实际占用内存 = RES - SHR S 表示进行的状态( sleeping S running R) 在top下,按’M’按内存排序…

5. du -sh path查看目录的真实大小

-s summary 只显示汇总的大小

6. find 用于查找文件 参数有55个之多

-type -name

7. service 用于控制一些软件的服务启动/停止/重启

        `service 服务名 start/stop/restart`

可以通过ps -ef|grep 服务名 查看服务状态

8. kill

kill PID ps -ef 查看pid

kill -s 9 <pid> 9是终止指令

killall <processname>

ps -ef|grep <processname>一起使用

 ps -ef|grep pycharm
cx         3005   1615  0 13:34 ?        00:00:00 /bin/sh /home/cx/桌面/pycharm-community-2020.1.2/bin/pycharm.sh
cx         3048   3005  1 13:34 ?        00:09:54 /home/cx/桌面/pycharm-community-2020.1.2/jbr/bin/java -classpath /home/cx/桌面
kill -s 9 3005
kill -s 9 3048

9. ifconfig 操作网卡

ifconfig 获取网卡信息

10. 关机重启指令: shutdown -h (关机) halt(关闭内存) init 0

shutdown -h now
shutdown -h xx:xx 
shutdown -s -t 3600 1小时后关机
shutdown -r now :立即重启
shutdown -a :取消上面的关机、重启

reboot :重启,相当于shutdown -r now
reboot -n :保存数据后重启

poweroff :关机并关闭电源
poweroff -p:关机并关闭电源
poweroff -f :强制关机

按Ctrl + Alt + Delete键—- 选择关机

11. uptime 输出计算机的持续在线时间 开机到关机

12. uname 获取操作系统的相关信息 类似win的msinfo32

uname linux 获取操作系统类型

uname -a all 获取全部系统信息

13. netstat -tnlp 查看网络连接状态

2 Linux终端与基本指令 - 图13

-t 表示只列出tcp协议的连接

-n 表示将地址从字母组合转化成ip地址,将协议装化成端口号显示

-l 过滤出‘state’列中其值为LISTEN的连接

14. man manual 手册。 查看其他指令的用法

man cp 查看cp指令用法

q退出

5. linux安装anaconda

1.从官网下载Linux版本的anaconda

2. 移动下载好的.sh文件到桌面

3. 普通用户下cd 到桌面,

bash Anaconda3-2019.07-Linux-x86_64.sh

4 安装过程中会显示path

2 Linux终端与基本指令 - 图14

2 Linux终端与基本指令 - 图15

安装结束后 输入sudo gedit /etc/profile

在末尾输入export PATH=/home/cx/anaconda3/bin$:PATH保存

5. 重启。终端输入python,显示对应的conda python信息则成功。若在root模式下配置了anaconda,那么在普通用户下python会调用系统自带的2.7版本,只有进入root模式下才能调用anaconda版本。

6. 直接安装python3

1. 下载python3源码

cd /usr/local
wget https:///www.python.org/ftp/python/3.6.10/Python-3.6.10.tgz

2 解压并编译

tar -xzvf Python-3.6.10.tgz
cd Python-3.6.10

sudo ./configure --prefix=/usr/local/python3.6.10
# 上一步报错则先输入下一条指令
sudo apt-get install build-essential

sudo make
sudo make install

3. 创建软连接

# 备份python2的软连接
sudo cp /usr/bin/python /usr/bin/python_bak

# 删除原来的oython2软连接
sudo rm /usr/bin/python

# 重新指定python为python3的软连接
sudo ln -s /usr/local/Python-3.6.10/python /usr/bin/python

4. 检查是否成功

python -V
>>>Python 3.6.10

5. 安装pip

若apt-get指令无法下载。更新系统下载源

更新系统下载源

root模式下进入sources.list文件

sudo vim /etc/apt/sources.list
将文件内容替换成
命令模式下dd可以删除本行

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
更新
apt-get update
apt-get upgrade

6. 修改pip下载源

修改配置文件 :

根目录创建.pip文件:
mkdir ~/.pip
cd ~/.pip
#编辑pip.conf文件
sudo vim pip.conf

在pip.conf文件中添加清华大学的pypi镜像,要是想用其他的镜像,替换成相应的地址即可。

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple 
trusted-host = pypi.tuna.tsinghua.edu.cn

其他国内镜像源:

https://mirrors.aliyun.com/pypi/simple
https://pypi.mirrors.ustc.edu.cn/simple/
http://pypi.hustunique.com/
http://pypi.sdutlinux.org/
http://pypi.douban.com/simple/

软连接

cd /usr/bin
rm pip3
ln -s pip3.6 pip3

重新登录

root@hecs-x-medium-2-linux-20200704093014:~# pip3 -V
pip 20.1.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
root@hecs-x-medium-2-linux-20200704093014:~# pip3.6 -V
pip 20.1.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
root@hecs-x-medium-2-linux-20200704093014:~# pip -V
pip 20.1.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)

7. 安装虚拟环境 可选

pip install virtualenv