linux使用
linux是多用户系统,没有盘符的概念,每个用户在home文件夹下创建自己的工作文件夹;而windows是单用户系统,因此会有盘符的概念。
linux命令
一、常用linux命令的基本使用
常用命令就可,不需要死记硬背。
小技巧:在ubuntu中:
- ctrl+shift =:放大终端窗口的文件显示
- ctrl -: 缩小终端窗口的文件显示
- linux中区分大小写
- ls:查看当前文件夹下的内容
- pwd:查看当前所在文件夹
- cd [文件名]:切换文件夹
- touch [文件名]:如果文件不存在,新建文件
- mkdir:创建目录
- rm [文件名]:删除指定的文件
- clear:清屏 (shift+tab退出列表)
二、linux终端命令格式
1.终端命令格式
command(命令名) [-options(选项)] [parameter(参数)] ([]代表可选)
2.查阅命令帮助信息
- command --help
- man command
文件和目录命令
一、终端实用技巧
1.自动补全
在敲出文件/目录/命令的前几个字母之后,按下tab键:若输入无歧义,系统会自动补全;若输入有歧义,再按一下tab
2.曾经使用过的命令
按上\下光标键可以在曾经使用过的命令之间来回切换
二、ls常用选项
1.-a
显示指定目录下所有子目录与文件,包括隐藏文件;以[.]开头的为隐藏文件,[.]代表当前目录,[…]表示上级目录
2.-l
以列表方式显示文件的详细信息
3.-h
配合-l以人性化的方式显示文件大小
4.ls通配符的使用
- *:代表任意个数的字符
- ?:代表任意一个字符,至少一个
- []:表示可以匹配字符组中的任一个
- [abc]:匹配a,b,c中的任一个
- [a-f]:匹配从a到f范围内的任一个
三、cd命令的常用参数
1.cd
- cd:切换到当前用户的主目录
- cd ~:同上
- cd .:保持当前目录不变
- cd …:切换到上级目录
- cd -:可以在最近两次目录之间切换
2.相对路径和绝对路径
-
相对路径
在输入路径时,最前面不是/或者~,表示相对当前目录所在的目录位置
-
绝对路径
在输入路径时,最前面是/或者~,表示从根目录开始的具体目录位置
四、touch和mkdir命令的扩展
1.创建和删除操作
1.touch
创建或修改文件时间
- 如果文件已存在,则修改文件的末次修改时间
- 若文件不存在,则创建文件
2.mkdir
创建一个新的目录
-p:可以递归创建目录
3.rm(删除之后无法恢复,慎用)
- -f:强制删除,忽略不存在的文件,无需提示
- -r:递归删除目录下的内容,删除文件夹时必须添加此代码,可以同时删除多个目录
拷贝和移动命令
一、tree
- tree [目录名]:以树状图列出文件目录结构
- -d:只显示目录
二、cp
复制命令
cd 原文件路径 目标路径 记得加/
-
-i:覆盖文件前提示
-
-r:若给出的源文件是目录文件,则cp;将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
三、mv
移动命令并且可以重命名要移动的文件
mv 原文件 目标文件
- -i:覆盖文件前提示
文件命令内容
一、cat、more和grep
1.cat
全部显示
cat 文件名:查看文件内容、创建文件、合并文件、追加文件内容等功能
- -b:对非空输出行编号
- -n:对输出的所有行编号
2.more
非全部显示,其余同cat
- enter:一次滚动手册页的一行
- b:回滚一屏
- f:前滚一屏
- q:退出
- 空格键:同f
- /word:搜索word字符串
3.grep
对文本文件进行搜索
grep [要搜索的内容] 文件
- -n:显示匹配行及行号
- -v:显示不包括匹配文本的所有行(即求反)
- -i:忽略大小写
- ^a:行首,搜寻以a开头的行
- b$:行尾,搜寻以b结束的行
带空格的搜索内容需要用双引号括起来
二、其他
1.echo
会在终端中显示参数指定的文字,常和重定向一起用
echo 文件内容 >/>> 文件名
2.重定向:>和>>
- linux允许将命令只执行结果重定向到一个文件
- 将本应显示在终端上的内容 输出/追加到指定文件中
- >:表示输出,会覆盖文件原有的内容
- >>:表示追加,会将内容追加到已有文件的末尾
3.管道 |
- linux允许将一个命令的输出通过管道作为另一个命令的输入
- |左右两端分别为输入和输出
- 常用的管道命令有more和grep
远程管理命令
一、关机/重启
1.关机
shutdown 选项 时间
- -r:重新启动
2.网卡和ip地址
- ifconfig:可以查看/配置计算机当前的网卡配置信息
- ping:检测目标ip地址连接是否正常
在linux中物理网卡常用ensXX命名,,127.0.0.1称为本地回环,一般用来测试本机网卡是否正常
二、远程登录和复制文件
exit退出
1.ssh
-
域名:ip地址的别名,即网址
-
端口号:通过ip地址找到计算机,通过端口号可以找到计算机上的运行程序,ssh服务器的默认端口号是22,默认端口号可省略
-
序号 服务 端口号 01 ssh服务器 22 02 web服务器 80 03 https服务器 443 04 ftp服务器 21 -
ssh [-p 端口] 用户名@ip地址:远程登录管理目标计算机
ssh高级
-
免密码登录
- 配置公钥:执行ssh-keygen后一直回车即可生成
- 上传公钥到服务器:执行ssh-copy-id -p port 用户名@ip地址 可以让远程服务器记住公钥
- 使用私钥加密的数据,要用公钥解密,反之亦然。(非对称加密)
-
配置别名
在~/.ssh/config中追加
Host 别名
Hostname 远程服务器ip地址
User 远程计算机用户名
Port 远程计算机端口
之后就可以用ssh 别名 进行远程登录了
2.scp
- 远程拷贝
- 格式与ssh相同,但是p要大写
- -r:递归复制
- -P:指定端口
- scp -P 源文件 用户名@ip地址 [: 目标文件]
用户权限
1.用户
- **用户**是linux系统工作中重要的一环,用户管理包括用户和组管理
- 在linux中,登录必须要有一个账号,且拥有不同的权限
- 对文件/目录的权限包括:
序号 | 权限 | 缩写 | 代号 |
---|---|---|---|
01 | 读 | r | 4 |
02 | 写 | w | 2 |
03 | 执行 | x | 1 |
2.组
设置一个组,然后给组设置权限,最后在组中添加用户
- ls -h命令下,用户权限-组权限-其他权限 硬连接数 用户 组
- 硬连接数:即有多少种方式可以访问当前文件/目录
3.chmod
chmod [+/-]rwx 文件名|目录名:修改用户/组对文件/目录的权限
- 目录无可执行权限的话,其它权限也不能用
组管理
创建/删除 组都需要sudo执行
1. 添加组
groupadd 组名
2.删除组
groupdel 组名
3.确认组信息
cat /etc/group
4.递归修改文件/目录所属组
chgrp -R 组名 文件/目录名
用户管理
一、用户管理终端命令
创建用户/删除用户/修改其他用户密码 需要sudo
1.创建用户/设置密码/删除用户
-
useradd -m -g 组 新建用户名:添加新用户
- -m:自动建立用户家目录
- -g:指定用户所在组,否则会建立一个同名的组
-
passwd 用户名:设置用户密码
-
userdel -r 用户名:删除用户;-r会自动删除用户家目录
-
cat /etc/passwd | grep 用户名: 确认用户信息
2.查看用户信息
-
id[用户名]:查看用户uid和gid信息
- uid:用户代号
- gid:组代号
-
who:查看当前所有登录的用户列表
-
whoami:查看当前登录用户的账户名
-
sudo usermod -G 组名 用户名:将用户添加到附加组
-
sudo usermod -g 组名 用户名:将用户添加到主组(很少用)
-
usermod -s /bin/bash 用户名:修改用户登录shell
-
which 命令:查看执行命令的位置
3.切换用户
- su - 用户名:切换用户,-表示切换用户家目录
- exit:退出
4.修改文件权限
- chown 用户名 文件名|目录名:修改拥有者
- chgrp -R :递归修改组
- chmod -R 7(文件拥有者权限)5(组成员权限)5(其他用户权限) 文件名|目录名:修改权限**(r-4,w-2,x-1)**
系统信息相关命令
一、时间和日期
- cal:查看日历,-y可以查看一年的日历
- data:查看系统时间
二、磁盘信息
- df -h:显示磁盘剩余空间
- du -h 目录名:显示目录下的文件大小
三、进程信息
- ps aux:查看进程的详细状况
- a:显示终端上的所有进程,包括其他用户的进程
- u:显示进程的详细状态
- 显示没有控制终端的进程
- top:动态显示运行中的进程并排序
- kill [-9] 进程代号:终止指定代号的进程,-9表示强制停止
其他命令
- find 路径 -name “文件条件”:查找文件
- ln:软连接
- ln -s 被链接的源文件绝对路径 链接文件名:相当于快捷方式
- tar:打包和压缩
- apt-get:软件安装