Linux基础:初学者常用指令
温馨提示:适合初学者也适合其他阶段学习者
一、Linux文件和目录相关命令
文件系统层次结构标准FHS
/ bin: |
bin是二进制( binary )英文缩写。 |
/ boot : |
存放的都是系统启动时要用到的程序。 |
/ dev: |
包含了所有Linux系统中使用的外部设备。 |
/ etc: |
存放了系统管理时要用到的各种配置文件和子目录 |
/ lib: |
存放系统动态连接共享库的。 |
/ home : |
普通用户的主目录 |
/ root: |
根用户(超级用户)的主目录 |
man 查看命令符的帮助
man xx |
查看xx命令符的帮助 |
man ls |
|
man pwd |
|
cd 切换
cd xxx |
切换(切换去xxx) |
cd … |
返回上一级(cd+空格+…) |
pwd 打印当前路径位置
df -t 显示此文件系统的信息
ls 显示当前目录下文件内容
ls [options] [files_or_dir] |
ls [选项] [文件_or_目录] |
ls xxx/ |
打印显示xxx目录下文件(人在门外看屋内) |
ls -a |
列出所有文件,包括隐藏文件 |
ls -l |
以详细列表形式,列出所有文件的信息。 如:显示文件名称、日期、类型、大小等 |
ls -R xxx |
打印显示当前目录下或者任意子目录中包含xxx名称的所有文件 |
cp 复制(copy)
cp [options] file destination |
|
cp [options] file1 file2 dest |
|
-i |
覆盖时交互提示 |
-r |
对文件夹递归 |
-a |
将目录备份成另一个目录名称 |
cp text.c text/ |
把text.c文件复制到text目录中 |
cp test.c …/ |
把test.c文件复制到上一级(相对路径) |
cp test.c /home/linux |
把text.c文件复制到linux目录中(直接路径) |
cp test.c …/bak.c |
在上一级创建新的bak.c目录,并把text.c复制到bak.c当中 |
cp -r xxx/ xx |
加 -r 把xxx文件夹复制到xx中 |
cp test.c …/ -i |
提示是否覆盖原文件 答:y(是) n(否) |
touch 创建文件或更新时间戳
touch xxx.c |
创建xxx.c文件;在有xxx.c文件的情况下重复touch xxx.c 是更新时间戳; |
touch 文件名{后缀1,后缀2,后缀3} : |
创建多个文件 ----例:touch a{1,2,3}.c // 同时创建a1.c,a2.c,a3.c |
rm 删除文件(remove)
rm [options] |
|
rm file -i |
删普通文件(加 -i 是为了有交互) |
rm -r directory |
删文件夹 |
rm -rf |
文件和文件夹都可删除 |
mv 剪切(move)(移动)+ 重命名
mv [options] file destination |
|
mv [options] file file2 destination |
移动多个文件 |
mv test.c …/ |
|
mv test.c … |
移动到上一级 |
mv xx.c xxx.c |
重命名 把xx.c改名为xxx.c |
mv xx.c …/xxx.c |
移动+重命名 |
mkdir 新建一个目录(make directory)
单独分步创建:↓ |
|
mkdir xxx |
在当前文件夹创建xxx文件夹 |
mkdir xxx/xx |
在xxx文件夹下创建xx文件夹 |
级联创建:↓ |
|
mkdir -p xxx/xx |
直接创建生成xxx文件夹和xxx文件夹下的xx文件夹 |
cat 查看文件内容(代码)(只能看不能编辑)
cat xxx.c |
|
cat -s |
多个空行合并成一个空行显示 |
cat -b |
加行号显示 |
head -n |
显示前n行,不加-n默认显示10行 |
tail -n |
显示后n行,不加-n默认显示10行 |
head 从文件头显示指定的行数(默认显示前10行)
格式:hand -nline filename |
head xxx.c |
head -xx xxx.c |
vi 编辑文件内容
vi xxx.c |
编辑xxx.c文件内的内容(代码) |
wp 返回
clear 清除桌面
二、vi编辑器的使用
vi 模式切换命令
i |
光标左边开始编辑 |
a |
光标右边开始编辑(追加) |
I |
光标移动至行首 |
A |
光标移动至行尾 |
o(小写) |
光标移动到新的下一行行首 |
O(大写) |
光标移动到新的上一行行首 |
:! Command |
执行外部命令,再按Enter即可回到原界面 |
:! pwd |
在命令模式下查看当前位置 |
:! date |
在命令模式下查看时间 |
vi 拷贝与粘贴命令
[n]yy |
复制从光标开始的连续n行 |
[n]dd |
剪切从光标开始的连续n行 |
[n]x |
剪切从光标开始的连续n个字 |
p(小写) |
粘贴到光标新的下一行 |
[n]p |
n倍复制 |
P(大写) |
粘贴到光标新的上一行 |
u |
撤销 |
vi 保存和退出命令
:w |
保存文件 |
:x 和 :wq |
保存文件并退出 |
:q |
退出 (不保存) |
:q! |
强制退出(不保存) |
:w |
File 另存与File给出的文件名,不退出 |
:r File |
把File文件里的内容(代码)拷贝到当前文件中 |
vi 替换命令
: s/str1/str2/ |
当前行str1替换str2 |
: s/str1/str2/g |
g代表全文替换(不加g默认替换第一个) |
:n,N s/str1/str2/g |
第n行到第N行 如::10,15 s/str1/str2/g |
:.,$ s/str1/str2/g |
当前行到最后1行 |
:1,$ s/str1/str2/g |
第1行到最后1行(全文替换) |
:%s/str1/str2/g |
全文替换 |
vi 光标命令
:n |
移动光标到第n行 |
1G / gg |
移动光标到文件的第1行 |
G |
移动光标到文件的最后1行 |
:set number |
设置显示行号(代码前面的行数) |
:set nonumber |
取消显示行号 |
vi 复制和剪切命令
y0 |
从光标到行首内容复制 |
y$ |
从光标到行尾内容复制 |
d0 |
从光标到行首内容剪切 |
d$ |
从光标到行尾内容剪切 |
: range y |
范围复制 |
|
如:n,N y |
|
:1,10 y |
|
:.,$ y |
|
:% y |
: range d |
范围剪切 |
|
:n,N d |
|
:1,10 d |
|
:.,$ d |
|
:% d |
vi 的查找命令
/ 查找指令
例如:/xxxx 查找有关xxxx的字符串
n |
继续查找 |
N |
反向继续查找 |
支持正则表达式比如: /^the /end$ |
|
基础知识
数据的表示
三、程序的编译和调试
gcc 编译
①gcc xxx.c -o xxx ② ./xxx |
输入gcc xxx.c -o xxx后生成一个指定xxx可执行文件,再输入 ./xxx 即可显示打印结果 |
例如:①gcc test.c -o test ② ./test |
①gcc xxx.c -o xxx -Wall ② ./xxx |
加-Wall是为了显示多一些警告 |
①gcc test.c -o test -Wall ② ./test |
①gcc xxx.c ②./a.out |
不加 -o 默认生成a.out可执行文件,在输入 ./a.out 显示打印结果 |
|
程序调试
FILE、FUNCTION、LINE |
用来反馈打印结果的内容源代码在 哪个文件位置、哪个函数位置、第几行位置 |
四、其他常用辅助指令
vsp |
打开一个新的对称分屏文件 |
ctrl + L |
清屏 |
ctrl + alt + t |
打开主目录下新的命令窗口 |
ctrl + shift + n |
打开当前目录下新的命令窗口 |
ctrl + shift + t |
打开当前目录下新的标签 |
ctrl + shift + + |
增大字体 |
ctrl + - |
减小字体 |
shift + v + 上下选择范围 + ,+ cc |
注释 |
shift + v + 上下选择范围 + ,+ cu |
取消注释 |
man ascii |
打开查看ASCII表 |
gcc -E bool.c -o bool.i |
指对宏的展开 |
五、其他指令
立即开机和重启
sudo shutdown -h now |
系统立即关机 |
sudo shutdown -r now |
系统立即重新启动 |
sudo reboot now |
系统立即重新启动 |
sudo shutdown -h + 45 “That is all , game over!” |
定时45分钟后关机–(后面的英文为可(自定义)的提示语) |
sudo shutdown -h + 60 |
定时60分钟后关机 |
sudo init 0 |
系统立即关机 |
sudo init 6 |
系统立即重启 |
sudo poweroff |
系统立即关机 |
sudo poweron |
系统立即重启 |