1 shell命令
linux的命令是在终端窗口中执行,这些在终端中执行的命令被称之为shell命令,将多个shell命令按照一定的格式放入文本中被称之为shell脚本;
1.1文件操作
1.1.1 查找文件
# 格式:ls -[参数] # 作用:list,按参数格式列出当前目录的所有文件; ls -a #-all:列出所有的文件以及子目录,包括以“.”开头的隐藏文件; ls -A #-all:同上,但是不列出“.”(当前目录)和“..”(父目录); ls -l #-list:列出当前目录的所有文件,并附带文件的详细信息; ls -t #-time:将文件按照时间顺序列出,但是不会显示时间; ls -R #-recursion:递归列出当前目录的所有文件;
# 格式:cd [路径] # 作用:change directory,改变当前目录; cd .. #改变目录为父目录; cd ~ #改变目录为当前用户目录; cd /usr #改变目录为/usr目录;
创建新用户时,linux会默认为新用户在/home/下创建一个用户目录,该用户只拥有当前目录的所有权限;
find -name vim* #查找当前目录下以vim开头的文件 find -name vim* /etc/ #查找/etc/目录下以vim开头的文件
grep -r "ubuntu" /usr #递归查找/usr目录下文本内容包含"ubuntu"的文件;global regular expresstion print;
pwd #print work directory,打印当前工作目录的绝对路径;
uname -rso #查看当前系统的内核信息;
1.1.2 创建文件
touch test #创建文本文件test mkdir dirtest #创建文件夹dirtest
1.1.3 打开文件
# 格式:cat -[参数] [路径] # 作用:catenate,打开路径位置所在的文本文档 cat -n test #打开当前目录下的test文本,并对文本行数进行标号
1.1.4 复制文件
cp test1.c test2.c #复制test1.c的内容到test2.c中; cp *.c ../dirtest #复制当前目录下的所有.c文件到../dirtest文件夹下;
1.1.5 移动文件
mv test1.c test2.c #将test1.c移动到test2.c,相当于重命名成test2.c; mv test.c ../dirtest #将test.c移动到../dirtest文件夹下;
1.1.6 删除文件
rm test #删除文本文件test rm -r dirtest #递归删除文本文件test rmdir dirtest #删除文件夹dirtest
1.2 权限操作
#格式: sudo chown [to用户名.组名] [from文件] #作用:change owner 修改文件的所属用户,所属用户组; sudo chown root.root hello #修改hello文件的用户为root,用户组为root;
#格式:sudo chmod [权限] [from文件] #作用:change mode;修改文件的创建用户、所在用户组的用户、其他用户组的用户、的权限; sudo chmod 666 test #修改当前路径的test文件的权限为所有用户都可读写;
#格式:sudo [shell命令] #作用:super user do,以root用户的权限来执行命名; sudo adduser usertest #以root用户的权限来创建新的用户usertest; sudo su cae #super user do switch user ,切换root用户为cae用户; sudo -l #list , 列出当前用户可执行与不可执行的命令; sudo -h #help ,显示帮助信息;
1.3 ls -l 文件的权限说明和文件类型
d rwx r-x r-x 2 cae cae 4096 3月19 14:16 桌面 #d:表示"桌面"的文件类型为目录文件; #rwx:表示文件拥有者的权限;read write execute;进制表示为0b111,即0x7; #r-x:表示所在用户组的其他用户的权限;read - execute;进制表示为0b101,0x6; #r-x:表示其他用户组的用户的权限;read - execute;进制表示为0b101,0x6; #cae:表示文件拥有者; #cae:表示所在用户组;
#具有x可执行权限的文件,可以看做一个软件
ls -l #返回列表的第一个字符表示文件类型; #- :普通文件,一些应用程序创建的,比如文档、图片、音乐等; #d : directory 目录文件 #c : char device字符设备文件 #b : block device块设备文件 #l : link 符号连接文件,相当于 Windwos 下的快捷方式 #s : 套接字文件 #p : pipe 管道文件,主要指 FIFO 文件
1.4 开关机
man cd #查看终端命令手册man,关于cd的用法部分;man [命令]:查看[命令]的使用说明 poweroff #关闭系统 reboot #重启系统
2 压缩打包
2.1 linux下常用压缩格式为.bz2 和.gz格式,但是gzip和bzip2命令都只对单个文档进行压缩,并不对多个文档所在的文件夹进行归档打包成一个压缩文档;
使用zip命令可以对多个文档所在的文件夹进行压缩打包;
#格式: gzip -[参数] [to 目标文件] [from原文件] #作用:使用gzip格式压缩原文件为目标文件,原文件不保留; gzip a.c #压缩a.c文件为a.c.gz,a.c文件不保留; gzip -r dirzip #压缩dirzip文件夹内的所有文件为.gz格式,原文件不保留,此处的dirzip还是一个文件夹,只是文件夹内的文件压缩了; gzip -d a.c.gz #-decompress 解压缩a.c.gz文件为a.c文件,原文件不保留; gzip -dr dirgzip #解压缩文件夹dirgzip内的文件,原文件不保留;
#格式:bzip2 -[参数] [目标文件] #作用:以bzip2格式处理目标文件; bzip2 -z a.c #-z:compress ,压缩a.c > a.c.bz2 , 原文件不保留; bzip2 -d a.c.bz2 #-d:decompree , 解压缩a.c.bz2 > a.c ,原文件不保留;
zip -rm test.zip dirzip #-r recurse , -m remove ,将dirzip文件夹压缩为test.zip,并删除原文件 unzip test.zip #解压缩test.zip文件
2.2 tar 打包工具:tar工具提供打包服务的同时提供压缩功能;
#格式 :tar -[参数] [to目标文件] [from源文件] -v #x显示指令执行过程 -c #create archive 创建归档,即压缩文件; -x #extract archive 解压归档,即解压缩文件; -j #以.tar.bp2格式压缩 -z #以.tar.gz格式压缩 -f #file archive创建归档文件;
# -z .gzip格式 tar -vczf test.gz dirzip #将dirzip文件夹以.gzip格式,压缩打包为test.gz; tar -vxzf test.gz #将test.gz文件夹以.gzip格式,解压缩;
# -j .bzip2格式 tar -vcjf test.bz2 dirtest #将dirtest文件夹以.bzip2格式,压缩为test.bz2 tar -vxjf test.bz2 #将test.bz2文件以.bzip2格式,解压缩;
3 APT工具:advanced packaging tool
作用:可以连接到Linux的服务器,通过apt命令下载源码后,自行编译成软件,并安装;
sudo apt-get update #与服务器上的软件包进行对比,返回需要更新的软件包 sudo apt-get check #查看本地软件包的依赖关系 sudo apt-get install 软件名 #从服务器下载安装该软件 sudo apt-get upgrade 软件名 #从服务器更新该软件 sudo apt-get remove 软件名 #从当前系统卸载该软件
4 VIM编辑器
vim编辑器有三种模式可以编辑操作;
4.1 只读模式:输入均为操作命令,主要用来删除内容;
#vim编辑器打开时默认为只读模式,此时的键盘输入为操作命令 x #删除光标所在处字符 dd #删除光标所在行内容 r #替换光标所在处字符; #以下命令为执行完操作命令后;自动转为输入模式; i #在光标前面输入 o #在光标所在行的下方新建一行输入 O #在光标所在行的上方新建一行输入 s #删除光标所在处字符,可以在光标前面输入 cc #删除光标所在行内容,可以在光标前面输入;
4.2 输入模式:输入为编辑文档内容,按ESC退出输入模式,回到只读模式;
在vim中输入模式下,光标在当前字符一闪一闪的,输入字符是输入到光标一闪一闪的前面;
4.3 底行模式:在只读模式下输入":",进入到底行模式;按ESC退出底行模式,回到只读模式;
:w #保存文档 :x #保存文档并退出 :q #退出 :q! #不保存文档退出 :/被搜索内容 #从文本中搜索指定内容,然后把光标停在搜索结果处;
4.4 最后来安装和配置一下VIM编辑器
sudo apt-get install vim #安装vim编辑器 sudo vi /etc/vim/vimrc #进入vim编辑器配置文件 #在文件末尾加上如下设置,可以对vim编辑器进行配置; set ts=4 #设置tab键为4个空格 set nu #设置vim显示行号 set noexpandtab #设置不使用空格键 vi main.c #用vim编辑器新建一个main.c文件并打开
5 GCC编译器
5.1 GCC编译器属于没有操作界面的编译器,可以结合make工具用来在linux下编译C;
#格式: gcc -[参数] [to目标文件] [from原文件] gcc hello.c #使用gcc编译hello.c文件,默认链接生成可执行文件a.out; gcc -o hello hello.c #使用gcc编译链接hello.c文件,并修改生成的可执行文件名为hello; gcc -c hello.c #使用gcc编译hello.c文件,生成hello.o对象文件,不进行链接; ./a.out #执行可执行文件a.out
6 文件系统
windows下:FAT NTFS exFAT 文件管理系统;