linux
1.一切都是文件2.每个软件都有确定的用途 3.多用户多任务 4.完全免费 开源
内核版本:主版本号.次版本号.修订次数
奇数版本:开发版本 2.5.1
偶数版本:稳定版本2.6.1
Linux目录结构:
/boot: 启动目录,内核存放地
/etc:配置文件存放地
/tmp:程序产生的临时文件
/home:用户的目录,新增用户账户时,用户的家目录都存放在此目录
/lib:库文件,程序在执行过程中给你,需要调用一些额外的参数时需要函数库的协助
/bin:可执行文件和常用的linux命令
/sbin:系统管理员的命令和工具
/usr:应用程序和文件的安装地
/mnt:挂接其他文件系统
/root:root账户的home目录
/dev:存放Linux系统下的设备文件
Linux命令:
vi编辑器:
功能:生产新文件或者编辑、查看文件
1)vi a.py
2)i 插入数据
vi后可执行的操作:
1):w 保存文件
2):wq 保存文件并退出
3):wq!保存文件并强制退出
4):q退出
5):q!强制退出
6):dd删除一行文字
7)x删除一个字符
8):n光标移至文本第n行
9)$光标移至文本的行尾
10)G光标移至文本的末尾
11)/ 查找某个字符串 例如:/sdb
pwd: 打印用户当前所处的目录
cd /home: 改变用户所在目录
cd: 返回当前用户主目录
cd.. 返回上一层目录
ls: 查看当前目录下的内容
ls -a: 显示当前目录下的所有文件(包括隐藏文件)
ls -l: 显示当前目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否链接、文件名
ls -al: 显示当前目录下的所有文件(包括隐藏文件)的细节,包括权限、所有者、组群、大小、创建日期、文件是否链接、文件名
ls -r:逆向,从后向前地列举目录中内容
ls -R:递归,该选项递归地列举当前目录下所有子目录内的内容
ls -s:大小size数据块
ls /home显示指定目录/home下的内容
ls -l 1.txt:列举文件1.txt的所有信息
cat命令:显示整个文件的文本内容 语法:cat 文本文件名字 如:cat 1.txt
touch命令: 创建文本(不能插入内容) 语法:touch 文本文件名字 如:touch 12.txt
grep命令:在一堆文件中查找一个特定的字符串 如:grep money test.txt 意思:在test.txt中查找字符money
cp命令:拷贝文件或复制文件 语法: cp 源文件 目标文件 如: cp a.txt b.txt 意思:把a文件复制到b文件
cp -i:互动:如果文件将覆盖目标中的文件,他会提示确认
cp -r:递归:这个选项会复制整个目录、子目录及其他
cp -v:详细:显示文件的复制进度
mv命令:
可以对文件或者目录进行移动 格式: mv 源对象 目的对象
mv 4.txt /home
移动时并重命名: mv 4.txt /home/44.txt
mv -i:互动:如果选择的文件将覆盖目标中的文件,他会提示确认
mv -f:强制:不提示地移动文件
mv -v:详细:显示文件的移动进度
mkdir:
创建目录 格式:mkdir 目录名1 目录名2
mkdir -p a/b 创建嵌套目录
rmdir:
删除目录,只能删除空目录
rmdir 参数 目录名1 目录名2 。。。
rmdir test 删除单个目录
rmdir a b c 删除多个目录
rmdir -p aa/bb/cc/dd 删除嵌套目录
rm命令:
删除文件 格式: rm 参数 文件
rm 44.txt 删除某个文件
rm 1.txt 2.txt 3.txt 删除多个文件
rm -i 互动:提示确认删除
rm -f 强制:代替互动模式,不提示确认删除
rm -v 详细:显示文件的删除进度
rm -r 递归:将删除某个目录以及其中所有的文件和子目录
man命令
用来查询和解释一个命令的使用方法和这个命令的注意事项 格式:man 命令的名称
man ls
退出按下q
locate命令
定位文件和目录 格式:locate 文件或者目录名字
locate test
whatis命令
用来查询某个命令的含义
whatis mv
bzip2命令:
压缩文件 格式:bzip2 filename 文件会被压缩,并保存为filename.bz2
bzip2 1.txt 压缩单个文件
bzip2 2.txt 3.txt 3.txt 压缩多个文件
解压缩文件:
bunzip2 filename.bz2 解压缩单个文件
filename.bz2会被删除,而以filename代替
gzip命令:
压缩文件
gzip filename 文件即会被压缩,并被保存为filename.gz
gzip 1 2 3压缩多个文件
解压缩文件:
gunzip test.gz
test.gz会被删除,而已filename代替
gunzip 1.gz 2.gz 3.gz
-r: 递归处理,将指定目录下的所有文件及子目录一并处理
gzip -r file1 把file1目录中的内容压缩起来
gunzip -r file1 把file1目录中的内容解压缩
tar命令:
将文件或者目录进行打包、或者解压缩, 格式:tar 参数 打包后的文件名 需要打包的文件或目录
-c 创建压缩文件
-x 展开归档文件
-t 显示包括在tar文件中的文件列表
-z 压缩/解压缩文件(gz格式)
-v 写入或读取时,显示所有的文件
-f 指名要展开的归档文件名
-j 压缩或解压缩文件(bz2格式)
tar -cvf 1.tar a 压缩文件a
tar -xvf a.tar 解压缩文件a.tar
将aa bb压缩到一个文件里: tar -cvf test.tar aa bb
列出tar文件的内容: tar -tvf filename.tar
抽取tar文件: tar -xvf filename.tar
创建一个使用tar和bzip2来归档压缩的文件,使用-j选项: tar -cjvf filename.tbz file
扩展并删除归档bzip tar文件: tar -xjvf filename.tbz
创建一个用tar和gzip归档并压缩的文件,使用-z选项: tar -czvf filename.tgz file
扩展并删除归档gzip tar文件,并输入命令: tar -xzvf filename.tgz
head命令:
用来查看文件的开头部分 格式:head 文件名 默认查看文件前10行
head -20 test 查看前20行
tail命令:
查看文件的结尾部分,默认后10行 格式:tail test
tail -20 test 查看后20行
more命令:
按页来查看文件的内容,more使用空格键和b键来前后移动 格式:more 选项 文件名
more 1.txt
-num 一次显示的行数
-f 计算行数时,以实际上的行数,而非自动换行后的行数(有些单行字数太长的会被扩展为两行或两行以上)
+num 从第num行开始显示
使用more在文本文件中搜索关键字,按/键并输入命令搜索条目:
从文件中查找第一个出现”lq”字符串的行,并从该处前两行开始显示输出: more +/lq 1.txt
使用空格键来翻阅页码,按q键退出
当一个目录下的文件内容太多,可以用more来分页显示,这得和管道|结合起来
ls -al /etc | more -5 “|”表示管道,可以将前面命令的输出当作后面命令的输入
which命令:
依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。在找到第一个符合条件的程序文件时,就立刻停止搜索,省略其余未搜索目录
语法: which 命令
which ls
whereis命令:
查找符合条件的文件,只能定位一些文件在文件系统中的位置,一般用于程序名的搜索
语法:whereis [-bm] 程序名
-b 只找二进制文件
-m man说明文件,查出说明文档路径
chmod命令
用来改变许可权限,读取、写入、执行是许可权限中的三个主要设置
r 文件可以被读取
w文件可以被写入
x文件可以被执行,如果文件是程序的话
可以使用带有-l的ls命令来仔细查看一个文件的许多细节
Chmod文件的使用者(u,g,o)增减(+,-,=)权限名称(r,w,x)文件
u 拥有文件的用户
g 所有者所在的组群
o 其他人
a 代表所有
删除某一文件的所有权限,输入命令:chmod a-rwx test.txt
为文件所有者添加权限,输入命令:chmod u+rwx test
对多个对象更改权限:chmod g-w, o-w test
还可以用数字表示权限:4-读取,2-写入,1-执行
chmod 751 filename == chmod u=rwx,g=rx,o=x filename
useradd与userdel:添加用户、删除用户
格式:useradd [用户名] userdel [参数] [用户名]
userdel -r wang 彻底删除
强制删除遗留文件 userdel -rf ma
Chgrp:用于变更文件或目录的所属群组
chgrp wang test:把test文件群组改为wang
chown命令:将文件的拥有者改为指定的用户或组,该指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的文件拥有者,也没有权限可以把自己的文件拥有者改设为别人,只有系统管理者才有这样的权限。
su:用来修改用户 语法:su 用户名
假设当前用户root,想要切换成wang的用户。su wang
su 用户:代表切换用户,但是环境变量保持现在的用户的环境变量
su -l 用户:表示切换用户,并载入那个用户的环境变量
passwd:修改用户密码
passwd 用户名
关机和查看系统信息的命令
exit:退出 (文本模式下使用快捷键ctrl+d)
重启:
命令1:reboot
命令2: shutdown -r now现在重启
命令3: shutdown -r 11:30 等到11:30进行重启
关机:
命令1:halt
命令2:shutdown -h now现在立刻关闭系统
命令3:shutdown -h 11:30等到11:30关闭系统
命令4:shutdown -t 2 在2min内关机
ps命令:查看在计算机系统中,有哪些程序正在执行及其执行的情况,用它来找出所有的process id和名称,也可以用来列出所有程序占用内存的情况
u: 列出使用者的名称和使用时间
x: 列出所有程序
ps u 查看有关使用者的信息
ps x 列出所有程序分布情况(查询出所有的进程号pid)
top命令:可以查看目前程序的执行情况和内存使用,它和ps类似,但它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按ctrl+c或者q即可
Kill命令:用来终止一个正在执行中的进程,如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源
语法: kill 进程号
date:用来设定和修改现在的时间和日期
date -u:使用格林尼治时间
date -r 1.txt 最后一次修改文件的时间
date -s 18:00设置时间
cal日历:若要显示一整年的年历,可以在cal命令后加4位数的年份
显示2018年的年历:cal 2018
显示2018年10月份:cal 10 2018
磁盘空间命令
df命令:检查磁盘的使用量
-a: 可以列出全部文件系统和各分区的磁盘使用情况
du命令:显示文件目录的大小,语法:du 参数 文件名字
-ab: 列出所有文件和目录所占的空间
网络操作命令
ifconfig:显示网络设备的状态
ping:用于检测主机,执行ping命令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知主机运作正常
netstat:知道整个linux系统的网络情况或显示网络状态
显示网络的详细状况:netstat -a
显示UDP端口号的使用情况: netstat -apu
clear:清屏
echo: 在显示屏上回显文字或者用来查看环境变量的值
格式:echo [需要显示的内容]
echo “hello, today” 显示 hello, today
echo $PATH 查看PATH的取值,是否有/sbin目录
uptime:系统运行时间
wc:用于计算字数 语法:wc 参数 文件名
在默认的情况下,wc将计算指定文件的行数、字数以及字节数
参数:
-c: 只显示字节数
-l: 只显示行数
-w: 只显示字数
wc -c test