Linux
Posted aaron-zhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux相关的知识,希望对你有一定的参考价值。
目录
1 Linux简介
1.1 基本思想
- 一切都是文件
- 每个软件都有确定的用途
1.2 特点
- 多用户、多任务
- 完全免费
2 Linux目录结构
/boot
: 启动目录,内核存放地/etc
: 配置文件存放地/tmp
: 程序产生的临时文件/home
: 用户的目录/lib
: 库文件/bin
: 可执行文件和常用的Linux命令/sbin
: 系统管理员的命令和工具/usr
: 应用程序和文件的安装地/mnt
:挂接其他文件系统/root
:root账户的home目录(根目录)/dev
: 存放Linux系统下的设备文件
3 常用命令
3.1 文件编辑命令
touch
- 功能:创建文本(不能插入内容)
- 格式:
touch 文本文件名字
gedit
- 功能:用记事本打开文件,若文件不存在,则自动创建该文件
- 格式:
gedit 文本文件名字
vi/vim
- 功能: 生成新文件或者编辑、查看文件
- 格式:
vi file_name
- 从命令模式进入编辑模式
- i 插入文本
- a 追加文本
- 从编辑模式进入命令模式
ESC
键
- 命令模式
:w
保存文件:wq
保存并退出:wq!
保存并强制退出:q
退出:q!
强制退出dd
删除一行文字x
删除一个字符:n
光标移至文本第n行$
光标移至文本的行尾G
光标移至文本的末尾/
查找某个字符串
3.2 管理文件和目录的命令
pwd
- 显示当前用户所处的路径
cd
- 功能:改变用户所在的目录(change edirctory)
- 格式:
cd <目录名>
cd ..
返回到当前目录的上一级目录cd
返回当前用户的主目录cd /home
用路劲切换到home目录
ls
- 功能:查看目录下的内容
- 格式:
ls [参数] [目录或文件]
- -a 列举目录中的全部文件,包括隐藏文件
- -l 列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
- -r 逆向,从后向前地列举目录中内容
- -R 递归,递归地列举当前目录下所有子目录内的内容
- -s 大小size: 数据块
- 例子:
ls -l 1.txt
列举文件1.txt中的所有信息
grep
- 功能:在一堆文件中查找一个特定的字符串
- 格式:
grep 字符串 指定文件名
(区分大小写!)(-i参数忽略大小写)
find
- 功能:用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件
- 格式:find 指定文件名(文件名可以含有通配符)
cp
- 功能:拷贝文件或复制文件
- 格式:cp [源文件] [目标文件] (把源文件拷贝一份命名为目标文件明)
- -i 互动:如果文件将覆盖目标文件中的文件,它会提示确认
- -r 递归:这个选项会复制整个目录、子目录以及其他
- -v 详细:显示文件的复制进度
- -p 属性:连同文件的属性一起复制过去
mv
- 功能:可以对文件或者目录进行移动
- 格式:
mv [源对象] [目的未向]
- -i 互动:如果选择的文件将覆盖目标文件中的文件,它会提示确认
- -f 强制:不提示地移动文件
- -v 详细:显示文件的移动进度
mkdir
- 功能:创建目录
- 格式:
mkdir [目录名1] [目录名2] ... ...
- -p 创建一个嵌套的目录,但是目录里面只能嵌套一个目录(当父目录不存在时要使用 -p)
- -m 直接赋予文件相应的权限
rmdir
- 功能:删除空目录
- 格式:
rmdir [参数] [目录1] [目录名2] ... ...
rm
- 功能:删除文件
- 格式:
rm [参数] [文件]
- -i 互动:提示确认删除
- -f 强制:代替互动模式,不在=提示确认删除
- -v 详细:显示文件的删除进度
- -r 递归:将删除某个目录以及其中所有的文件和子目录
- 注意:多个参数可以一起使用,如:-rf
3.3 线上查询的命令
man
- 功能:用来查询和解释一个命令的使用方法和这个命令的注意事项
- 格式:
man 命令名称
locate
- 功能:定位文件和目录
- 格式:
locate 文件或者目录名字
- 注意:若命令不能使用,则先输入命令updatedb
whatis
- 功能:用来查询某个命令的含义
- 格式:
whatis 命令名称
- 注意:若命令不能使用,则先输入命令makewhatis
3.4 文件备份和压缩命令
bzip2
- 功能:用来压缩文件,并被保存为.bz2格式
- 格式:
bzip2 filename
bunzip2
- 功能:用来解压缩文件
- 格式:
bunzip2 filename.bz2
gzip
- 功能:用来压缩文件,并被保存为.gz格式
- 格式:
gzip filename
gzip -r file
把目录中的内容压缩起来
gunzip
- 功能:用来解压缩文件
- 格式:
gunzip filename.gz
- 注意:压缩之后,源文件不存在
tar
- 功能:将文件或者目录进行打包、或者解压缩
- 格式:
tar [参数] [打包后的文件名] [需要打包的文件或目录]
- -c 创建压缩文件
- -x 展开归档文件
- -t 显示包括在tar文件中的文件列表
- -z 压缩/解压缩文件(gz格式)
- -v 写入或读取时,显示所有的文件
- -f 指名要展开的归档文件名
- -j 压缩或者解压缩文件(bz2格式)
- 注意:压缩之后,源文件不受到影响
- 打包:
tar cvf test.tar /home/test
- 解压缩:
tar cvf test.tar
3.5 文件阅读的命令
cat
- 功能:显示文本内容(从第一行开始)
- 格式:
cat 文本文件名字
tac
- 功能:显示文本内容(从最后一行开始)
- 格式:
tac 文本文件名字
nl
- 功能:显示文本内容(显示的时候,顺道输出行号!)
- 格式:
nl 文本文件名字
head
- 功能:查看文件开头部分
- 格式:
head [-行数] 文件名
(默认前10行,可以自己设置)
tail
- 功能:查看文件结尾部分
- 格式:
tail [-行数] 文件名
(默认前10行,可以自己设置)
more
- 功能:按页来查看文件的内容
- 格式:
more [参数] [fielnames]
-num
一次显示的行数-f
计算行数时,以实际上的行数,而非自动换行过后的行数+num
从第num行开始显示- 空格键和z建向下翻页
less
- 功能:与more类似,但可以往前翻页
- 格式:
less 文本文件名字
- 空格键和z建向下翻页
- b建向前翻页
- g建返回首页
history
- 功能:查看之前输入过的所有命令
3.6 定位查找文件的命令
which
- 功能:依序从path环境变量所列的目录中找出命令的位置,并显示完整路径的名称。一旦找到,就立刻停止搜索。
- 格式:
which 命令
whereis
- 功能:查找符合条件的文件,whereis命令只能以用于程序名的搜索。定位一些文件在文件系统中的位置。
- 格式:
whereis [参数] [文件或者目录名称]
- -b 只找二进制文件
- -s 只找source源文件
3.7 管理使用者和设立权限的命令
chmod
- 功能:用来改变许可权限。
- 格式:
chmod 文件使用者(u,g,o)增减(+-=)权限名称(r,w,x) 文件或者目录
- r/4——文件可以被读取
- w/2——文件可以被写入
- x/1——文件可以被执行,如果文件时程序的话
- 文件权限由十位组成
- 第一位为“-”:表示为文本文件
- 第一位为“d“:表示为目录
- 剩下的9位每三位为一组
- 第一组:代表文件主人的权限 u
- 第二组:代表和文件主人同组成员的权限 g
- 第三组:代表其他人的权限 o
- a 代表所有
- "rwx"的顺序,缺少用”-“代替
- 例子:
- 删除某一文件的所有限:
chmod a-rwx text.txt
- 用数字表示权限:
chmod 751 filename
表示:u=rwx,g=r-x,o=--x
- 删除某一文件的所有限:
useradd
- 功能:添加一个用户
- 格式:
useradd [用户名]
userdel
- 功能:删除一个用户
- 格式:
userdel [参数] [用户名]
(参数一般为-r,把用户的主目录一起删除)
chgrp
- 功能:用于变更文件或目录的所属群组
- 格式:
chgrp [用户] [文件或目录]
chown
- 功能:将文件的拥有者改为指定的用户或组
- 格式:
chown [用户] [文件或目录]
- 注意:一般只有系统管理者(root)可以使用该命令
su
- 功能:用来修改用户
- 格式:
su [用户名]
su 用户
:代表切换用户,但是环境变量保持现在用户的环境变量su -l 用户
:代表切换用户并载入那个用户的环境变量
who
- 功能:用于查看当前所有登录系统的用户信息
- 格式:
who [参数]
- -q: 只显示用户的登录账号和登录用户的数量
- -u: 显示列标题
3.8 有关关机和查看系统信息的命令
- 退出
- exit
- 文本模式下使用
Ctrl+D
- 重新启动
reboot
shutdown -r <time>
例如:shutdown -r now/11:30
- 关机
halt
shutdown -h <time>
shutdown -h now
shutdown -h 11:30
shutdown -t 2
在2min内关机- -c 取消待执行的关机命令
- -r 重启
- -p 关机,等价于 -h
ps
- 功能:查看在计算机系统中,有哪些程序正在执行及其执行情况。用它来找出所有的process id和名称
- 参数
- -l 用长格式列出
- -u 列出使用者的名称和使用时间(Centos中特殊:
ps u
) - -m 列出内存分布的情况
- -r 只罗列出正在执行的程序,不列出其他信息
- -x 列出所有程序
top
- 功能:可以查看目前程序的执行情景和内存使用
- 类似于
ps
,不过它几秒钟就会更新一次系统状态(按Ctrl+C
或q
终止)
kill
- 功能:用来终止一个正在执行中的进程
kill -l (显示系统正在运行的进程)
3.9 磁盘空间命令
df
- 功能:检查磁盘的使用量
- -a 可以列出全部文件系统和各分区的磁盘使用情况
du
- 功能:显示文件目录的大小
- 格式:
du [参数] [文件名字]
- -ab 列出所有文件和目录所占的空间
3.10 网路操作命令
ifconfig
- 功能:显示网络设备状态
ping
- 功能:用于检测主机
netstat
功能:知道整个Linux系统的网络情况或显示网络状态
-a 显示UDP端口号的使用情况
service network restart
- 功能:网络重启
以上是关于Linux的主要内容,如果未能解决你的问题,请参考以下文章
linux打开终端如何启动scala,如何在终端下运行Scala代码片段?
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
-bash: /usr/bin/ls: /lib64/ld-linux-x86-64.so.2: bad ELF interpreter: No such file or directory(代码片段