最常用的Linux基础命令大全!

以下是操作Linux系统最常用的基础命令,转载请注明出处,谢谢合作!
ctrl+alt+t —>打开终端

Stefen@ubuntu:~$ —》shell命令行

Stefen -->主机用户名 --》不能修改,只能在安装的时候去设置(自主定义主机用户名)
@ -->作为分隔符
ubuntu -->主机名 --》在安装的时候设置的
: -->作为分隔符
~ -->表示用户当前路径
$ -->表示普通用户
# -->表示管理员用户


sudo -s --》切换管理员用户

exit --》退出管理员用户

sudo vi /etc/vim/vimrc -->临时切换管理员用户


ls -->查看当前目录下的目录和文件
ls -l -->查看当前目录下的目录和文件的详细信息
ls -a -->查看当前目录下的目录和文件,包括隐藏文件
ls -la -->查看当前目录下的目录和文件,包括隐藏文件详细信息
ls filename -->查看当前目录下的是否有filename这个文件
ls -l filename -->


cd -->切换路径

cd dirname -->进入该目录/路径
cd / -->进入根目录
cd … -->返回上一级目录
cd …/… -->返回上一级目录的上一级目录
cd ~ -->进入家目录
cd -->进入家目录
cd - -->返回原本所在的路径
cd . -->进入当前目录

~ 《==》 /home/Stefen -->家目录
. 当前目录
… 上一级目录

cd dev <==> cd ./dev <==> cd ./dev/ **<==>**cd dev/
上面都是一样的写法

/home/Stefen 对于路径来说 最前面的/才有意义,表示根目录
/写到中间或者最后面表示分隔符没有实际作用

绝对路径:从根目录开始写的路径
eg: cd /home/Stefen

相对路径:从当前目录写的路径

	eg:	cd ./../../home/Stefen

mkdir/rmdir 创建空目录/删除空目录

mkdir dirname —>创建一个新的目录dirname
mkdir dirname/dirname1 在已存在的dirname创建一个目录dirname1

mkdir dirname/dirname1 -p 在已不存在的dirname创建一个目录dirname1
rmdir dirname —>只能删除空目录


rm 删除文件或目录

rm filename -->删除一个文件
rm dirname -r —>删除一个目录(不管里面是否有文件)
rm dirname -rf —>强制删除一个目录(不管里面是否有文件)


touch 创建文件以后不进入编辑模式

touch filename -->创建文件以后不进入编辑模式
如果文件已存在,表示更新文件创建时间
vi filename -->创建文件以后进入编辑模式
vim filename
gedit filename


cp 复制文件或目录

cp filename filename1 -->复制一个内容一样文件
cp filename dirname -->把filename复制到dirname

cp dirname dirname1 -r -->把目录dirname复制到dirname1


mv 剪切文件或目录/更改文件或目录的名字

mv filename dirname -->把filename剪切到dirname

mv dirname dirname1(存在) -->把目录dirname剪切到dirname1

mv filename filename1 --> 把filename改名为filename1

mv dirname dirname1(不存在) --> -->把目录dirname改名dirname1


cat/more/less 查看文件里面的信息

cat filename --> 查看filename文件里面的信息
cat filename -n -->查看filename文件里面的信息,并打印它的行号
more -->分页查看文件里面的内容–>按回车和空格可以翻页
less -->分页查看文件里面的内容–>按回车和空格可以翻页–>输入q退出查看

----------
*  :通配符
--------

head 查看文件开头的信息

head filename --> 默认查看文件开头的十行信息
head filename -n 20 -->默认查看文件开头的二十行信息

tail 查看文件结尾的信息

head filename --> 默认查看文件结尾的十行信息
head filename -n 20 -->默认查看文件结尾的二十行信息


sort 给文件里面的内容排序

sort filename		-->给文件里面的内容排序(正序)
sort filename -r	-->给文件里面的内容排序(反序)

uniq 去除相邻行的重复内容

	uniq filename -->去除相邻行的重复内容

sort filename | uniq —>把filename文件里面的内容排序,然后给uniq作为输入的,然后输出我们所要的内容

| —>管道文件


find 在目录中查找文件

find dirname -name "1.c"   -->在目录dirname里面查找1.c文件
find dirname -name "*.c"   -->在目录dirname里面查找以.c为后缀的文件
find dirname -type d	   -->在目录dirname里面查找某种类型的文件

grep 在文件中查找字符串

grep 'hello' filename 		-->在文件filename 里面查找是否有字符"hello"
grep 'hello' filename -n	-->在文件filename 里面查找是否有字符"hello",并把它所在行号打印

grep 'hello' dirname -rnH	-->-->在目录dirname 里面查找是否有字符"hello",并把它所在路径、文件名和行号打印

-rw-rw-r-- 1 Stefen Stefen 4 11月 5 17:09 13.c
110 110 100 --》二进制
6 6 4 --》八进制

  • -->表示普通文件 			文本文件、二进制
    

l -->链接文件 快捷方式
b -->块设备文件 磁盘、U盘、光驱
c -->字符设备文件 鼠标、键盘
d -->目录文件
s -->套接字文件 网络传输的文件
p -->管道文件 进程间通信的文件

rw- -->表示文件创建者的操作权限
rw- -->表示同组用户对该文件的操作权限
r-- -->访客用户对该文件的操作权限

r -->可读
w -->可写
x -->可执行

Stefen -->文件创建者
Stefen -->文件创建者所在的分组

4 —>文件的大小

11月 5 17:09 -->文件创建的时间

chmod -->更改文件的类型 -->在共享文件夹上不一定可以修改文件的权限
eg:
chmod 777 13.c 改变13.c文件的权限

		-rwxrwxrwx 1 Stefen Stefen 4 11月 5 17:09 13.c
		
	chmod 664 13.4 
		-rw-rw-r-- 1 Stefen Stefen 4 11月 5 17:09 13.c

ln 创建快捷方式

ln -s  filename newname -->给filename文件创建一个快捷方式叫做newname

diff 比较两个文件内容是否一样
diff filename filename1 -->比较两个文件内容是否一样


tar 压缩和解压

tar -cvf 1.tar *c 把所有的.c归档,生成1.tar
tar -xvf 1.tar   释放1.tar文件里面的文件

xz 1.tar      把1.tar文件压缩生成1.tar.xz
xz --decompress 1.tar.xz    把1.tar.xz文件压解压生成1.tar

tar -Jcvf 1.tar.xz *c  把所有的.c文件压缩生成1.tar.xz
tar -Jxvf 1.tar.xz  	把1.tar.xz文件压解压


tar -zcvf 1.tar.gz *.c	把所有的.c文件压缩生成1.tar.gz
tar -zxvf 1.tar.gz 		把1.tar.gz文件压解压


tar -jcvf 1.tar.bz2 *.c 把所有的.c文件压缩生成1.tar.bz2
tar -jxvf 1.tar.bz2		把1.tar.bz2文件压解压

echo -->在屏幕输出指定字符
echo “hello” 在屏幕输出hello
echo “hello” -> 6.c 把字符串hello导入文件6.c
echo $PATH 打印环境变量中的PATH

env 查看整个系统的环境变量
环境变量是整系统都能执行的一些配置

	PATH   --->表示系统执行文件的时候,会在当前设置的路径里面去找这个执行文件

export 临时设置环境变量的参数

	export PATH=$PATH:~/test2   -->把环境变量中的PATH增加一个路径 

	永久设置:
		1、打开 ~/.bashrc ,把export PATH=$PATH:~/test2加入配置文件
		
		2、该配置文件是在终端打开的时候加载了一次,不能立刻生效
		
		3、立刻生效还需加载一次配置文件:
				source ~/.bashrc

pwd --》打印当前路径


who -->查看当前用户

动态库静态库的生成
函数库:
1、便于移植,方便使用
2、保密

静态库:
编译生成静态库:

	1、把.c文件编译生成.o文件
		gcc -c add.c
		
		gcc add.c -c -o add.o
		
	2、把.o文件编译生成静态库
	ar -rc libadd.a add.o  
	
	3、静态库的使用:
	gcc main.c libadd.a -o project
	gcc main.c  -o project libadd.a
	

	4、执行文件
		./project

动态库:

	1、把.c文件编译生成.o动态库
	
	gcc -fpic -shared add.c -o libadd.so

	
	2、动态库的使用:
	gcc main.c -o project libadd.so 

	3、执行二进制文件时:
	(1)永久设置需要把add.so拷贝到/lib
			cp add.so /lib
	(2)临时设置环境变量:
			export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/hgfs/
		永久设置:
			把export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/hgfs/加入配置文件 ~/.bashrc
		
		
	4、执行
	./project

注意:LD_LIBRARY_PATH告诉编译器去哪个路径下找动态库

动态库和静态库的区别:
静态库是把静态库函数放到一起编译生成二进制文件(比较大)
动态库是把静态库函数没有放到一起编译生成二进制文件(相对比较小),执行文件的时候是需要去/lib去链接


动态库的库名:

libadd.so.9.0

前缀+库名+后缀+版本号

gcc main.c -o project -I ./include -L ./lib -ladd

-I 告诉编译器去哪里找头文件
-L 告诉编译器去哪里找动态库
-l 告诉编译器要连接的动态库的库名(不需要写前缀、后缀、版本号)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值