标题Linux笔记--------------------------
基础操作:
sudo //使用超管权限(没登录之前);
sudo startx //开启神秘区域;
sudo useradd -m ** //创建一个**用户;
userdel (-r)(-f) ** //删除**用户(删除家目录)(强制删除正在登录的用户,被删除的用户退出之后才不能再次登录)
sudo passwd ** //给**用户创建一个密码;
sudo - ** //切换到**用户;
cmd(*命令)+option(选项)+parameter(参数)//*必填项;
pwd //当前路径;
clear//清屏;
cmd(ls cd···) --help //开发手册;
man cmd(命令) //用户手册(*q退出手册);
ifconfig (ens33 192..)//查看获得的ip地址(配置ip地址);
ping //Ctrl+c停止运行;
sudo apt-get install ** //linux安装程序**;
sudo apt-get update //更新;
which //查看命令所在的位置;(which cd 为空,cd是shll的内置命令);
Tab键 //自动帮你搜索补全目录(具有唯一性);
sudo chmod 777 -R xx//解锁超级用户权限下创建的xx文件;
chmod 777 xx //给xx文件用户权限、用户组权限 r=4读 w=2写 x=1执行
Ctrl c //终止某个命令;
-a //条件连接符find /** -name ‘a*’ -a -type f 同时满足量个条件(默认);
-o //两个条件满足一个就可以;
>(>) //输出符号,任何输出到控制台上的内容都可以输出到文件中>覆盖原内容)>>追加内容
| //管道一个命令的输出作为一个命令的输入;
ln /** xx //创建软连接,在此路径下创建**路径内容的软连接xx
top //资源管理器;
keil //杀死进程;
tree -L 1 //显示一层目录;
locate **//比find搜索快一般不需要路径,会把包含的所有含xx的路径和文件全都搜索出来;(速度快,更新不及时)
updatedb//locate搜索有自己的索引库在一定时间更新索引库,此命令强制更新索引库
find:
find /** -name xx; //搜索在**路径名字下是xx的所有文件;
find /** -name '12*' //在**路径下搜索以12开头的文件''为了表示引号内的是一个文件;
find /** -iname '英文单词'//在**路径下不分大小写的搜索;
find /** -size +(-)x//按文件大小,+为大于—为小于,x(123..)为数字数据块512字节,0.5k;
find /** -user xx //在**路径下用户名为xx的文件;
find /** -mmin +(-)x//在x时间被修改过的文件;
find /** -amin +(-)x//在x时间被访问过的文件;
find /** -inum (id) //通过id来进行搜索,精确;
-type:(按属性来搜索)
-type f//文件
-type d//文件夹
-type l//软连接
ls:
ls//当前路径所有文件;
ls -l||ll//更改罗列方式;
ls -i //显示id;
ls -a//显示隐藏目录;
ls -h//文件大小的单位由字节变为k(ls -lah可以连接使用);
ls *.txt、1*、1*.txt//(通配符)可以罗列出所有以此后缀名结尾的文件、以此字符开头的文件···;
ls [a35||1-5]**//以a35||12345里面任一一个数+**的所有文件;
cd:
cd (当前路径后面的一级或多级路径)//切换路径(可以多级使用)相对路径;
cd (/完整路径名)绝对路径;
cd ..//返回上一级路径;
方向键(上下)//可以回到上级指令;
cd -//回到上一路径,两路径之间来回切换;
cd~//回到家目录;
文件夹操作:
touch //创建文本文档;
mkdir //创建文件夹;
rm **//默认移除文本;
rm -rf **//移除文件夹
查看内容
cat //查看的内容全局显示;
cat -b **//内容有行号辅助,去掉空格;
cat -n **//有行号不去掉空格;
grep xx //抓取xx在文件中的哪个位置;
grep -n ‘xx’ //抓取xx在文件中的哪一行;
grep -v (^)‘xx’(&) //抓取在文件中不包含(^以xx开头)xx的位置(&以xx结尾);
grep -v ‘xx’ **|more //管道,把查到的内容按页显示,回车下一行,空格下一页;
more //查看内容按页显示,空格下一页,b上一页;
文件编辑:
vim:
一般模式:(n)dd //删除光标所在行,(n)yy //复制
p //粘贴到光标下一行,P //复制到光标的上一行
. //重复上一步操作, u //撤销
vi **//按a或i进入编辑模式,然后按esc键退出编辑模式,输入:wq(q!)保存并退出(不保存退出);
cat >> ./test.txt (回车后开始编辑输入内容)
I am a boy.
按cntl+d组合键结束编辑。
echo xx//把xx打印到终端上;
echo xx > //把内容xx打印到文件中(覆盖原内容)
echo xx >> //把内容xx打印到文件中(追加内容在原内容的末尾)
mv ** 文件夹名//把**剪切到文件夹中;
mv 文件夹名 **//把文件夹名改为**;
(综合eg)mv 556.odt aa/555.odt //把556改名为555放到aa中;
cp 文本名 文件夹名//把文本粘贴到文件夹中;
cp -r 文本名 /home//把文本放到home目录下;
makefile:
$*//不包含扩展名的目标文件名称;
$+//所有的依赖文件,以空格分开,并以出现的先后为序可能包含重复的依赖文件
$<//第一个依赖文件的名称;
$?//所有时间比目标文件晚的依赖文件,以空格分开;
$@//目标文件的完整名称;
$^//所有不重复的依赖文件,以空格分开;
$%如果目标是归档成员,则该变量表示目标的归档成员名称;
编程:
1:创建一个.c文件;
2:gcc xx.c;
eg:gcc helloworld.c –o helloworld (如果不加–o helloworld 默认生成a.out文件);
3:./xx.out
makefile:
make //使用make必须要有makefile文件不能有后缀,可以生成可执行文件,使用完后可以make clean清除生成的文件;
samba安装和配置
sudo apt-get install samba //安装
ps ax | grep smb //检查是否启动,一般默认启动
目录含义:
/bin集中存放一些必要的命令工具,最好不要单独挂载,否则你会找不到那些你亟需的实用程序。
/boot包含Linux的启动文件以及内核。默认情况下为100M,这对准备RHCE考试足矣
/dev集中存放各类设备驱动程序,该分区不要单独挂载
/etc集中存放一些基本的配置文件
/home集中存放用户的主目录
/lib内核和实用程序的编译库文件,该分区不要单独挂载
/media可移动介质的挂载点
/misc使用automounter挂载本地目录的标准挂载点
/mnt老的用于移动介质的挂载点
/net使用automounter挂载网络目录的标准挂载点
/opt第三方应用程序文件的常用存放地
/proc集中存放当前内核相关进程以及内核配置信息等
/rootroot用户的主目录
/sbin集中存放一些系统管理命令,该分区不要单独挂载
/selinux与安全升级Linux相关的当前配置
/smb使用automounter挂载远端共享Microsoft网络目录的标准挂载点
/srv常用于各种非RedHat版本的网络服务器
/tftpboot当安装了TFTP服务器时会存在
/tmp集中存放临时文件,默认情况下,RedHat会自动周期性地清空该目录
/usr集中存放一些对所有用户可用的小程序,包含许多系统管理命令和实用程序
/var集中存放可变数据,如日志和打印机缓冲文件等
usr:/usr/bin : 所有可执行文件,如 gcc,firefox 等(指不包含在 /sbin 和 /bin 内的);
/usr/doc : 文档。实际是 /usr/share/doc 的软链接;
/usr/games : 曾经包含游戏等文件,现在很少用到;
/usr/include : 各种头文件,编译文件等时需要使用;
/usr/lib : 所以可执行文件所需要的库文件;
/usr/local : /usr 通常只包含系统发行时自带的程序,而 /usr/local 则是本地系统管理员用来自由添加程序的目录;
/usr/sbin : 类似 /sbin,root 可以执行。但此目录不包含在环境变量 $PATH 中,它包含的程序类似于 chroot, useradd, in.tftpd and pppconfig;
/usr/share : 它包含了各种程序间的共享文件,如字体,图标,文档等。(/usr/local 对应的目录是 /usr/loca/share);
/usr/share/doc : 类似应用程序的 man 手册。它包含程序的说明文件,默认配置文件等;
/usr/share/info : 不常用,已经被 man 代替;
/usr/share/man : app 的 manual;
/usr/share/icons : 应用程序的图标等文件,分为 png,svg 等多种格式;
/usr/share/fonts : 字体文件,系统范围内可使用,~/.fonts 仅当前用户可用;
/usr/src : linux 内核的源码和说明文档等;
/usr/src/linux : linux 源代码;
/usr/src/linux/.config : 内核编译过程产生的文件;通常由命令 ‘make config’ , ‘make menuconfig’ 或 ‘make xconfig’ 执行后产生;
/usr/src/linux/.depend, /usr/src/linux/.hdepend : ‘make dep’ 检测编译依赖时需要的文件,由 /usr/src/linux/.config 产生;
/usr/src/linux/COPYING : GNU license;
/usr/src/linux/Makefile : 编译内核所需的 Makefile;
/usr/src/linux/Rules.make : 当有多个 Makefile 时,根据它的规则执行 make;
https://www.cnblogs.com/sddai/p/10615387.html
常用:
du -sh /** //显示目录占用磁盘大小,不显示子目录占用,以人类可读方式显示
gedit ** //打开文本
grep -nr “” /xx //在xx.目录下查找内容
find -name //查找文件
sync //写入磁盘
reboot //重启
file //查看文件类型
ps (-aux)//打开当前运行程序(所有);
top //进程实时运行状态
tree //树的形式显示出来
git :
压缩解压缩:
gzip:
gzip ** //压缩**
gzip -d //解压缩
gzip -r xx//对xx文件夹进行压缩
gzip -rd xx//对xx文件夹进行解压
bzip2:
bzip -z //压缩
bzip2 -d //解压
tar:
命令 参数 打包后的名字 打包前的名字
对gz:
-vczf //创建压缩文件包
-vxzf //解压缩文件包
对bz2:
-vcjf //创建压缩文件包
-vxjf //解压缩文件包
-f //使用归档文件
-c //创建压缩文件(打包)
-x //解压缩(打包)
-j //使用bzip2压缩
-z //使用gzip压缩
-v //打印出打包过程
rar:
rar a xx.rar xx //压缩
rar x xx.rar //解压
zip:
zip -rv xx.zip xx//压缩
unzip xx.zip //解压
安装:
sudo apt-get install xxx//命令安装
sudo dpkg -i xx.deb//安装包安装,安装deb软件包;
下载源码 , make ,make install(源码安装。下载源码,找到之后make然后 make install完成
网络:
ifconfig ens33 down; //关闭ens33
ifconfig ens33 up; //打开ens33
ifconfig ens33 192.168.118.118; //更改ip地址
文件连接:
软链接:
ln 参数 源文件 目标文件(目标文件一定写成绝对路径,否cp后的软连接将会出现问题)
-s //软连接
-f //强制创建链接
硬链接:
ln 源文件 目标文件(不可跨系统,可创建多个连接,只要修改其中一个所有都修改)
配置vim:
进入vim /etc/vim/vimrc中在最后添加
set ts=4 //tab键在vim是4个空格
ste nu //显示行号
Makefile:
-c 编译 生成一个 .o 文件
-o 链接成一个链接文件.exe
变量 =(替换)+=(追加) :=(恒等)
$^ //所有的目标文件
$@ //所有的依赖文件
$< //所有的依赖文件的第一个文件
.PHONY clean:(伪目标防止手贱创建一个clean文件夹,导致make clean不起作用)
clean:
rm -rf .o
rm-rf main
shell:(命名以*.sh后缀名结尾)chmod 777 .sh(权限不够不能执行)
(判断文件是否存在,不存在的话创建建立,保证数据的拷贝复制)
#!/bin/bash//(相当于头文件,编写shell必不可少)
echo 【空格】 //输出**
read //从键盘读取
$ //后跟声明过的变量
(()) //加减乘除要在双括号里
【空格a空格=空格b空格】 //最少出现四个括号
text命令:
-r //判断是否有读权限
-w //判断是否有写权限
-x //判断是否有修改权限
判断:
if 空格 [空格 表达式 空格];then
elif
fi
case &变量 in
“条件”)(不加“”代表其他)
echo “********”;;