linux基础知识总结

@[TOC] linux基础知识

echo>和ehco>>的区别:

前者:输出重定向,覆盖之前的内容
后者:输出追加重定向,不会覆盖之前的内容,即追加

linux基本指令与操作

①esc下按u:撤销
②在xshell输入rz:可以从window传文件

cat<<EOF

cat<<EOF的意思是以EOF输入字符为标准输入结束,就是当你输入cat<<EOF的时候,你可以随意输入字符,但是当输入EOF的时候就结束了。

#cat<<EOF>text.log
>hello
>hi
>EOF        //输入结束

查看版本信息

lsb_release -a

查看用户

su - username 切换用户(切换了shell)
su username 切换用户(不切换shell)
who am i 查看当前登录用户
whoami 查看当前操作用户
who -H或–heading 输出时显示各列的标题
who -u:显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示为"."号,
如果该用户已超过24小时没有任何动作,则标示出“old”字符串
w(直接输入w):w比who输出的信息更丰富(w更好,显示ip也显示闲置时间)

linux的/与~

/:表示根目录,所有的目录,文件,设备都在跟目录(/)之下,/就是Linux文件系统的组织者,也是最上级的领导者
:①如果在root用户下,的pwd为/root
②如果在普通用户下,~的pwd为/home/当前用户
例:esec@ubuntu:~$:pwd 为 /home/esec

read -p 后面加提示

例:read -p “请输入一个数”
没有-p则不能加提示

shell注意事项

①等号两边不能直接接空格符,若变量中本身就包含了空格,则整个字符串都要用双引号或单引号括起来
②双引号与单引号的区别
双引号:可以解析变量的值
单引号:不能解析变量的值
例:echo 'num=KaTeX parse error: Expected 'EOF', got '#' at position 15: num1' #̲num1当成字符串处理

shell提供了无需定义的变量

$# 代表传入参数的个数
$@ 代表传入参数的列表
$0 代表脚本本身,例:./test.sh 01 02, $0就是test.sh
$1 代表传入的第一个参数,$2,$3…以此类推(最多到$9)
$* 以字符串方式显示所有传入的参数
$$ 脚本运行的进程ID
$? 显示最后命令的退出状况,0表示没有错误

vim test.cpp +3 //进去后光标在第3行

或vim +3 test.cpp(与上面等同)

编译g++程序

参考
touch test.cpp //创建C++程序
vim test.cpp //编写C++程序
g++ test.cpp //直接生成可执行程序
g++ -E test.cpp -o test.i //预处理
g++ -S test.i //编译
g++ -c test.s //汇编 (小写的c)
g++ test.o -o test (不能用g++ test.o -o test.cpp, 否则test.cpp乱码) //生成可执行程序
./test (不是./test.cpp, 由上一步的-o test决定的) //执行可执行程序
或者一步解决:g++ test.cpp -o test

C++编程模板

#include
using namespace std;
int main()
{
cout << “Hello g++” << endl;
}

vim显示行号(暂时)

:set number(或 :nu)
:行号 //跳至这一行

chown命令

chown user 文件名: 更改文件的拥有者为user
chown :group 文件名:更改文件的属组为group

ll或ls -l后出现带*的文件代表这些文件是可执行文件(即加上了可执行权限)

ls后文件显示的颜色

白色:表示普通文件
蓝色:表示目录
绿色:表示可执行文件
红色:表示压缩文件
浅蓝色:链接文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件

在vim中查看man手册

光标放在函数上,然后shift + k,即可跳转

vim自动补全

ctrl + n :当你输入第一字母时,再ctrl+n,自动出现下拉菜单,单词默认选中第一个,继续ctrl+n,ctrl+p可以上下切换,或者用方向键(太慢了)
ctrl+p:同上,只是默认的选中的是列表中最后一个单词

vim查找

/键查找时,执行正向扫描,?键查找时,执行反向扫描。
输入完字符后,记得要回车,这样才可以跳转到目标字符
回车后,按下n往上查找,按下N往下查找
按下Esc键后,/后再输入要查找的字符

清空文件

<1>vim命令模式下
①gg: //跳转到文件首行,G://跳转到文件末尾
dG://删除光标所在行到末尾行的内容,d代表删除
②:%d
<2>终端命令
echo > 文件名

cat > /usr/local/mysql/my.cnf << EOF 与cat << EOF> /usr/local/mysql/my.cnf是一样的

清除终端的命令:

ctrl+u:清除光标到行首的字符
ctrl+w:清除光标之前一个单词

vim替换(下面的g表示全部的意思)

:s/foo/bar/g 当前行将foo替换为bar
:%s/foo/bar/g 全文行将foo替换为bar
:5,12s/foo/bar/g 第5到12行将foo替换为bar
:.,+2s/foo/bar/g当前行.与接下来两行+2将foo替换为bar
:5,12s/k.*g/aaaa/g 第5行12行把k开头g结尾的字符串替换为aaaa
        //.(元字符)表示匹配任意一个字符 //*(表示数量的元字符)表示匹配0-任意个

查看历史命令以及执行历史命令

ctrl+r 搜索历史命令
history + 数字:显示最新的n条命令
!100: 执行命令行号为100的命令
!-3 : 执行倒数的第三条命令
history -c :清除历史命令

vim删除指定行—关键字d

:开始行,结束行d
%表示所有行
.表示当前行

/etc/hosts : ip映射,域名解析

查看剩余空间

df -h

查看服务器设备硬盘的大小

sudo fdisk -l :一般看/dev/sda3
df -h看到的空间未必是设备的物理空间
如果fdisk -l的空间大于df -h的空间,可以通过resize2fs /dev/sda3扩容扩大空间

vim注释

方法一:块注释模式
<1>加注释
①首先按键盘上的ESC进入命令行模式
②再按ctrl+v进入VISUAL BLOCK模式
③利用上下左右键调整需要注释多少行以及行的宽度
④再按shift+i或s进入插入模式
⑤输入代表注释的符号,比如#
⑥再次按ESC键,这时就可完成多行注释(可能需要当上一会,不要着急)
<2>去注释
前三步与加注释相同
①首先按键盘上的ESC进入命令模式
②再按ctrl+v进入VISUAL BLOCK模式
③利用上下左右键调整需要注释多少行以及行的宽度
④再按d即可完成去注释

方法二:替换命令
<1>加注释
①首先按键盘上的ESC进入命令行模式
②再在底行输入以下命令
:起始行号,结束行号s/^/注释符/g
例->:10,20s/^/#/g //在10-20行添加#注释
<2>去注释
①首先按键盘上的ESC进入命令行模式
②再在底行输入以下命令
:起始行号,结束行号s/^注释符//g
例->:10,20s/^#//g //在10-20行删除#注释

du命令查看文件夹大小(h表示显示单位的意思)

du -h 文件夹 //列出所有文件的大小(不建议用这个,太多了)
du -h --max-depth=N //指定遍历深度
du -h --max-depth=0 //只列出当前目录的大小
du -h --max-depth=1 //只列出当前目录下的所有子目录,即只遍历一层
du -h 文件名 //查看文件的大小

find查找文件

find pathname -name 文件名;
例:~/ldc/ldc.txt //目录下来有一个ldc目录,ldc目录下面有一个ldc.txt文件
find -name ldc* //不写文件名,默认在当前路径(及所有子路径);(当前操作目录为~);
输出:./ldc
find -name “ldc*” //最好带上引号,单引号也可以;
在根目录(表示在整个硬盘)下面查找: find / -name “ldc.txt”
输出:./ldc
./ldc/ldc.txt
find -type f -name “ldc.*” //指定文件类型(f表示普通文件)

本地与服务器传输文件用scp命令

查看之前的执行命令记录

在~目录下的.bash_history(用ll命令显示隐藏文件)

grep显示前后几行

参考

&和&&的区别

参考

后台执行命令

参考

linux与window共享

参考

grep遍历某目录下所有文件

参考

禁止某文件被更改或删除

参考

makefile = := ?=的区别

参考

linux C语言创建多线程传参问题

参考

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值