来源操作系统的一次作业——230306
作业操作
装 emacs 的命令(sudo apt install emacs)
安装gcc工具 (sudo apt install gcc) 创建文件 vim .c 完成后编译 gcc **.c -o **
运行 ./**
-
hello.c 编译
-
hello2.c编译结果
-
安装中文输入法
-
安装QQ
-
安装wps
软件安装
命令备忘录
写在前面: 因为VMware中的Ubuntu内的内容过少,必要时使用Ubuntu on Windows使用命令查看效果
操作命令原版链接:https://www.cnblogs.com/andy-0212/p/9986141.html
Bash命令
uname -a | 查看内核/操作系统/CPU信息 |
---|---|
head -n 1 /etc/issue | 查看操作系统版本 |
mount | 挂载 |
date | 显示时间格式 |
uptime | 获取主机运行时间和查询Linux系统负载等信息 |
whoami | 查看当前登录用户的账户名 |
man command | 帮助手册, 打开程序手册,显示命令手册 |
uname -a 查看内核/操作系统/CPU信息
head -n 1 /etc/issue 查看操作系统版本
mount挂载
date显示时间格式
uptime获取主机运行时间和查询Linux系统负载等信息
whoami查看当前登录用户的账户名
man command帮助手册, 打开程序手册,显示命令手册
Bash 快捷方式
CTRL-c | 终止正在运行的程序 |
---|---|
CTRL-z | 挂起一个进程,把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复 esc组合 |
CTRL-a | 光标移到行首 |
CTRL-e | 光标移到行尾 |
CTRL-u | 清除光标前至行首间的所有内容 |
CTRL-k | 清除光标后至行尾的内容 |
CTRL-r | 搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history |
!! | 重复最后一个命令 |
!abc | 执行以abc开头的最后一个命令 |
!abc:p | 打印以 abc 开头的最近的命令,并将其替换为该命令的输出 |
!$ | 用于引用前一个命令的最后一个参数 |
ALT-. | 用于快速获取之前执行的命令中最后一个参数 |
!* | 用于引用前一个命令中除第一个参数外的所有参数 |
^abc^123 | 用123替换abc |
CTRL-c**终止正在运行的程序**
CTRL-z挂起一个进程,把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复 esc组合
CTRL-a光标移到行首
CTRL-e光标移到行尾
CTRL-u清除光标前至行首间的所有内容
CTRL-k**清除光标后至行尾的内容**
CTRL-r搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的history
!!重复最后一个命令
!abc执行以abc开头的最后一个命令
!abc:p打印以 abc
开头的最近的命令,并将其替换为该命令的输出
!$用于引用前一个命令的最后一个参数
ALT-.* 用于快速获取之前执行的命令中最后一个参数
!* 用于引用前一个命令中除第一个参数外的所有参数
^abc^123 用123替换abc
Bash变量
env | 查看环境变量 |
---|---|
echo $NAME | 打印出一个环境变量 $NAME 的值 |
export NAME=value | 将名为 NAME 的变量设置为 value 的值,并将其标记为环境变量 |
$PATH | 环境变量 |
$HOME | 环境变量,用于指定当前用户的主目录 |
$SHELL | 环境变量,它指定了当前正在使用的 shell 程序的路径 |
env查看环境变量
echo $NAME打印出一个环境变量 $NAME 的值
export NAME=value 将名为 NAME
的变量设置为 value
的值,并将其标记为环境变量
$PATH环境变量
$HOME环境变量,用于指定当前用户的主目录
$SHELL环境变量,它指定了当前正在使用的 shell 程序的路径
I/O 重定向
cmd指的是一个命令 | |||||||||
---|---|---|---|---|---|---|---|---|---|
cmd指的是一个命令
管道Pipes
| |||
---|---|---|---|
命令列表
cmd1 ; cmd2 |按顺序执行两个命令,不管第一个命令的执行结果如何,都会执行第二个命令 |
---|
cmd1 && cmd2 |在 "cmd1" 命令执行成功时执行 "cmd2" 命令的命令 |
cmd1 || cmd2 |在 "cmd1" 命令执行失败时执行 "cmd2" 命令的命令 |
cmd & |命令用于在后台运行命令,而不阻塞当前终端 |
目录操作
pwd | 用于显示当前工作目录的命令 |
---|---|
mkdir dir | 用于创建名为 "dir" 的新目录 |
cd dir | 用于切换到当前工作目录下名为 "dir" 的子目录 |
cd .. | 用于进入当前工作目录的父目录的命令 |
ls | 列出文件 |
pwd用于显示当前工作目录的命令
mkdir dir 用于创建名为 "dir" 的新目录
cd dir 用于切换到当前工作目录下名为 "dir" 的子目录
cd .. 用于进入当前工作目录的父目录的命令
ls 列出文件
ls选项
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
---|---|
-R | 用于在终端输出指定目录及其子目录中的所有文件和目录 |
-r | 以相反的顺序显示 |
-t | 按照修改时间来排序 |
-S | 命令输出结果按照文件大小来排序 |
-l | 以长格式输出目录中的所有文件和目录的详细信息 |
-1 | 用于在终端输出目录中的所有文件和目录名称,每个文件或目录占用一行,适用于输出长列表或大量文件时 |
-m | 输出文件和目录名称的逗号分隔列表的命令选项 |
-Q | 列出指定目录下的文件和子目录 |
-a 显示指定目录下所有子目录与文件,包括隐藏文件
-R 用于在终端输出指定目录及其子目录中的所有文件和目录
-r 以相反的顺序显示
-t 按照修改时间来排序
-S 命令输出结果按照文件大小来排序
-l 以长格式输出目录中的所有文件和目录的详细信息
-1 用于在终端输出目录中的所有文件和目录名称,每个文件或目录占用一行,适用于输出长列表或大量文件时
-m 输出文件和目录名称的逗号分隔列表的命令选项
-Q 列出指定目录下的文件和子目录
搜索文件
grep pattern files | 查找符合特定模式(即 pattern )的文本字符串所在的文件的命令 |
---|---|
gerp -i | 忽略大小写的不同 |
gerp -r | 递归搜索指定目录及其子目录中的文件,查找包含指定字符串的行 |
gerp -v | 反向选择,显示出没有‘查找字符’内容的那一行 |
gerp -o | 仅显示到匹配到的字符串本身 |
find /dir/-name name* | 查找指定目录 /dir/ 下文件名以 name 开头的文件 |
find /dir/-user name | 查找指定目录 /dir/下属于指定用户 name的文件 |
find /dir/-mmin num | 查找指定目录 /dir/ 下最近 num分钟内被修改过的文件 |
whereis command | 查找可执行程序、源代码文件和帮助文档等文件 |
locate file | 查找文件(快速搜索系统索引) |
grep pattern files 查找符合特定模式(即 pattern
)的文本字符串所在的文件的命令
gerp -i 忽略大小写的不同
gerp -r 递归搜索指定目录及其子目录中的文件,查找包含指定字符串的行
gerp -v 反向选择,显示出没有‘查找字符’内容的那一行
gerp -o 仅显示到匹配到的字符串本身
find /dir/-name name* 查找指定目录 /dir/ 下文件名以 name 开头的文件
find /dir/-user name 查找指定目录 /dir/下属于指定用户 name的文件
find /dir/-mmin num 查找指定目录 /dir/ 下最近 num分钟内被修改过的文件
whereis command 查找可执行程序、源代码文件和帮助文档等文件
locate file 查找文件(快速搜索系统索引)
文件操作
touch file1 | 创建文件1 |
---|---|
cat file1 file2 | 连接文件1和文件2,并输出 |
less file1 | 打开并查看文件1的内容 |
file file1 | 获取文件1的类型 |
cp file1 file2 | 将文件1复制到文件2 |
mv file1 file2 | 将文件名为 file1的文件移动或重命名为 file2 |
rm file1 | 删除文件1 |
tail file1 | 显示文件1的最后10行 |
tail -F file1 | 监视文件file1的变化,并显示最新的内容 |
touch file1 创建文件1
cat file1 file2 连接文件1和文件2,并输出
less file1 打开并查看文件1的内容
file file1 获取文件1的类型
cp file1 file2 将文件1复制到文件2
mv file1 file3 将文件名为 file3的文件移动或重命名为 file2
rm file3 删除文件3
tail file1 显示文件1的最后10行
tail -F file1 监视文件file1的变化,并显示最新的内容
查看命令
进程管理
ps | 查看进程 |
---|---|
top | 实时显示进程状态 |
kill pid | 根据id杀死进程,pid是要终止的进程编号 |
pkill name | 根据进程名杀死进程 |
killall name | 杀死指定name开头的名字的进程 |
ps 查看进程
top 实时显示进程状态
kill pid 根据id杀死进程,pid是要终止的进程编号
pkill name 根据进程名杀死进程
killall name 杀死指定name开头的名字的进程
Nano快捷方式
文件
Ctrl-R | 读文件 |
---|---|
Ctrl-O | 保存,会提示是否更改文件名,回车则不修改 |
Ctrl-X | 退出,如果没有保存会提示是否要保存 |
Ctrl-R 读文件
Ctrl-O 保存,会提示是否更改文件名,回车则不修改
Ctrl-X 退出,如果没有保存会提示是否要保存
剪切和粘贴
ALT-A | 开始文本标记 |
---|---|
CTRL-K | 剪切标记的文本或容 |
CTRL-U | 清除光标前至行首间的所有内容 |
ALT-A 开始文本标记
CTRL-K 剪切标记的文本或容
CTRL-U 清除光标前至行首间的所有内容
导航文件
ALT-/ | 到文件的结束 |
---|---|
CTRL-A | 光标移到行首 |
CTRL-E | 光标移到行尾 |
CTRL-C | 显示行号 |
CTRL-_ | 可以直接输入行号,让光标快速移动到该行 |
ALT-/ 到文件的结束
CTRL-A 光标移到行首
CTRL-E 光标移到行尾
CTRL-C 显示行号
CTRL-_ 可以直接输入行号,让光标快速移动到该行
搜索文件
CTRL-W | 查找 |
---|---|
ALT-W | 找到下一个 |
CTRL-\ | 搜索和替换 |
CTRL-W 查找
ALT-W 找到下一个
CTRL-\ 搜索和替换
更多详情信息: https://www.nano-editor.org/docs.php
Screen 快捷方式
screen | 启动屏幕会话 |
---|---|
screen -r | 恢复屏幕会话 |
screen -list | 显示当前的屏幕会话 |
CTRL-A | 激活屏幕命令 |
CTRL-A c | 创建一个新的终端实例 |
CTRL-A n | 转到终端的下一个实例 |
CTRL-A p | 转到终端的上一个实例 |
CTRL-A '' | 显示终端的当前实例 |
CTRL-A A | 修改当前窗口的名称 |
更多screen详细信息资讯: https://www.gnu.org/software/screen/
screen 启动屏幕会话
screen -r 恢复屏幕会话
screen -list 显示当前的屏幕会话
CTRL-A 激活屏幕命令
CTRL-A c 创建一个新的终端实例
CTRL-A n 转到终端的下一个实例
CTRL-A p 转到终端的上一个实例
CTRL-A '' 显示终端的当前实例
CTRL-A A 修改当前窗口的名称
File 文件权限
chmod 755 file | 修改文件或目录的权限,数字755 将读写执行权限分配给用户所有者,将读取执行权限分配给组所有者和其他人 |
---|---|
chmod -R 600 folder | 递归chmod文件找到600 |
chown user.group file | 将文件所有者更改为用户和组 |
chmod 755 file 修改文件或目录的权限,数字755 将读写执行权限分配给用户所有者,将读取执行权限分配给组所有者和其他人
chmod -R 600 folder 递归chmod文件找到600
chown user.group file 将文件所有者更改为用户和组
文件权限编号
第一个数字是所有者权限,第二个数字是组,第三个数字是所有人。 通过在下面添加数字来计算许可数字。
4 | 读(r) |
---|---|
2 | 写(w) |
1 | 执行(x) |