栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux 初学者

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux 初学者

linux

linux中一切都是文件. txt,png,zip,目录也是文件

linuxwindows
没有后缀的区别; 只有一个根目录 /文件格式后缀要求严格 ; 盘符存储
linux命令的组成 命令 -选项(可选) 参数(可选) ls list 列举当前目录下的所有文件
ls显示当前目录下的所有内容
ls -l先是文件内容,且以列表显示
ls -a显示所有文件,包含.开头的隐藏文件
ls -al可以使用多个选项, 选项的位置和效果无关
ls -la选项的前后不影响结果
ls -al /查看根目录的所有文件,包含隐藏文件
ls -R /递归显示当前目录,及其子目录的所有内容

选项可以是全称,或者简写
ls -a 显示当前目录下的所有内容. 推荐使用
ls --all 显示当前目录下的所有内容. 不推荐使用

ls -Sl 显示当前目录下的所有文件,且从大到小排序
ls -lh 显示当前目录下的所有文件,且将大小由字节转换为k,M等形式

ll ==> ls -l 的别名
which ll 查看ll这个命令存放的位置. 以及它的解释

注: man
  • man 指令 查看该指令的帮助手册 按q退出
  • linux中 开头的文件,它就是隐藏文件
  • pwd print working directory 打印当前工作目录. 打印出来的是绝对路径
访问路径 cd

在任一操作系统中,要显示文件的位置.就必须用一个路径来表示.
路径有两种表示形式:
1.绝对路径: 以根目录/ 开头表示的路径. 例如收件地址
/ /home /root /root/anaconda-ks.cfg

2.相对路径: 以当前目录为基准(参照物),去找的路径. 例如:我左边的同学

cdchange directory(切换目录)
cd /切换到linux的根目录. 一切文件都在它下面
cd a进入当前目录下的a目录. 这个a就是相对路径
cd …返回上一级目录
cd .进入当前目录./b.txt 执行当前目录下的b.txt
cd ~进入当前用户的家目录. root的用户的家目录为/root, 普通用户家目录为/home/用户名
cd -返回上一次所在目录
创建 文件 / 文件夹

echo $? 验证上一个命令是否正确.如果正确则返回0, 其他值都是错误的

shell 人机交换的窗口
shell脚本 将多条linux命令写在一起,统一执行.

cd 切换目录
cdchange directory(切换目录)
cd /切换到linux的根目录. 一切文件都在它下面
cd a进入当前目录下的a目录. 这个a就是相对路径
cd …返回上一级目录
cd .进入当前目录./b.txt 执行当前目录下的b.txt
cd ~进入当前用户的家目录. root的用户的家目录为/root, 普通用户家目录为 /home/用户名
cd -返回上一次所在目录
mkdir 创建文件夹
mkdirmake directories 创建一个目录(文件夹)
mkdir a创建一个目录(文件夹) a
mkdir -p c/d/e/f创建多层目录 c/d/e/f
mkdir /b在根目录下,创建一个b目录
mkdir b在当前目录下,创建一个b目录
touch 创建文件
touch创建文件. linux中后缀只是用于区分文件,没有实质的作用
touch b.txt创建b.txt这个文件
touch a.txt在当前目录下,创建一个a.txt文件一次性
touch b.txt c.txt d.txt创建多个文件,同时创建b.txt c.txt d.txt
文件更改 文件内容填写 > , >>追加

[> 文件名] 向文件中输入

echo输出内容
echo hello向终端输出hello
echo hello > a.txt将hello这个字符串,输出到a.txt中. a.txt不存在,则会自动创建 这种方式会将原来的文字全部覆盖
echo 99999 >> b.txt向b.txt中追加输出9999,它不会覆盖原来的内容.
ls > c.txt显示当前目录下的所有内容,并输出到c.txt中
cat a.txt > d.txt查看a.txt的内容,输出到d.txt中. 就相当于复制
rm 删除 -f -r 文件夹

-f 不询问

-r 迭代访问文件夹 里的内容

rmremove 删除
rm d.txt删除d.txt这个文件,并且询问. 填入y代表yes,填入n代表no
rm -f c.txt强制删除c.txt. 不要询问
rm -rf hello/删除文件或目录,不询问
rm -rf *删除当前目录下的所有内容
cp 复制 文件夹-r
cpcopy 复制复制文件
cp a.txt b.txt复制a.txt中的所有内容,然后粘贴为b.txt
cp /home/a.txt /home/c.txt复制使用的是绝对路径复制目录(文件夹)
cp -r hello/ good/复制hello目录里面的所有内容,粘贴为good目录
mv 移动
mv move移动文件或目录文件移动到文件夹中
mv a.txt hello/移动a.txt到hello目录中文件夹移动到文件夹中
mv a/ b/将a目录移动到b目录中
文件查看 cat /more /head /tail +文件名 -n
cat a.txt查看文件的内容
cat -n a.txt查看文件显示有多少行,适用文件行数较少
more anaconda-ks.cf全屏形式查看文件anaconda-ks.cfg 回车键 下一行空格, f 下一页 q 退出文件查看,适用文件行数较多
head anaconda-ks.cfg查看文件的前10行
head -n 5 anaconda-ks.cfg查看文件的前5行
tail anaconda-ks.cfg查看文件的尾10行
tail -n 5 anaconda-ks.cfg查看文件的尾5行
tail -n +10 anaconda-ks.cfg查看文件的第10行到最末尾 [10:]

head -n 5 返回 文件前5行 内容
head -n +5 返回 文件从头开始计数的5行 [:5]
前两种结果一致
head -n -5 返回 文件从尾开始计数,去掉文件后5行 [:-5]

tail -n 5 返回 文件后5行 内容
tail -n -5 返回 文件从尾开始计数的5行 [:-5]
前两种结果一致
tail -n +5 返回 文件从尾开始计数,去掉文件前5行 [5:]

在a文件目录下查看 其下文件或文件夹

[root@bash a]ls b/c/d
33.txt

在a文件目录下 为文件夹 创建文件
[root@bash a]touch b/23.txt b/c/34.txt b/c/d/44.txt
[root@bash a]le -R
a 11.txt
b 22.txt 23.txt
c 33.txt 34.txt
d 44.txt

帮助命令 help 命令

help cd 查看cd命令的帮助手册

指令 --help 部分中文解释:
ls --help cp --help

查找 find 目录 -name ‘查询文件’
find在linux系统中搜索文件
find / -name ‘root’在根目录下查找,所有为root的文件
find / -name ‘1.log’在根目录下查找,所有名字为1.log的文件
find / -iname ‘a.txt’不区分大小写,查找a.txt或A.TXT

通配符:

​ *匹配0个或者多个任意字符

​ ? 匹配单个字符

find / -name ‘*.txt’在根目录下查找,所有以txt结尾的文件
find / -name ‘?.txt’在根目录下查找,文件名只有一位的txt文件
find / -name ‘???.txt’在根目录下查找,文件名只有4位的txt文件
find . -name ‘*.txt’在当前目录下查找,所有的txt文件
grep -nivc ‘检索字段’ 文件名 查询文件内容

grep :查询文件中满足条件的行(文件内容)

  • -n 显示行号
  • -i 忽略大小写 ignoce
  • -v 反向检索字段
  • -c 计数
grep -n ‘network’ anaconda-ks.cfg查找anaconda-ks.cfg文件中,包含network的行,并显示行号
grep -ni ‘c’ anaconda-ks.cfg查找anaconda-ks.cfg文件中,包含c的行.显示行号,忽略大小写
grep -ic ‘c’ anaconda-ks.cfg查找anaconda-ks.cfg文件中,包含c的行.忽略大小写,并且统计行数.
grep -nv ‘network’ anaconda-ks.cfg查找anaconda-ks.cfg文件中,不包含network的行,并且显示行号. v 反向检索
管道符 |

将前一个命令的输出,作为后一个命令的输入

显示文件的前5行,且带上行号
cat -n anaconda-ks.cfg  |  head -n 5     先查询所有内容,然后再取前5

显示文件的尾5行,且带上行号
cat -n anaconda-ks.cfg  | tail -n 5         先查询所有内容,然后再取尾5

显示文件的第6到10行,且带上行号
cat -n anaconda-ks.cfg  |  head -n 10  |  tail -n 5    先取前10,再取后5
cat -n anaconda-ks.cfg  | tail -n +6 | head -n 5       先去6到最末尾,再取前5

显示根目录下及其子目录的所有内容(显示linux的全部文件)
ls -R / | grep "root"   显示linux的所有文件,然后再筛选出包含root的文件.
ps aux | grep ssh     在所有的进程中筛选, ssh这个协议相关的进程.ssh:可以进行远程登录linux的一个协议
压缩文件 文件夹 gzip tar gzip 压缩单个文件 tar 压缩多个文件 并打包为一个压缩文件

tar -zcvf 2.tar.gz A B 可以压缩文件夹

-c 新建压缩文件

-z 使用gzip压缩

-v 显示详细过程

-f 指定压缩文件名

-t list查看压缩文件内容

-x 解压压缩包

-C 目录 指定特定目录解压缩

gizp b.txt压缩文件b.txt. 得到b.txt.gz
gzip -d a.txt.gz解压a.txt.gz,得到a.txt
tar -zcvf 1.tar.gz a.txt b.txt c.txt创建压缩包1.tar.gz 里面的内容是a.txt b.txt c.txt
tar -zxf 1.tar.gz解压1.tar.gz. 把压缩包的内容,直接放到当前目录
tar -zxvf 1.tar.gz -C a/解压1.tar.gz. 把压缩包的内容放到一个指定的目录中.该目录要先创建
tar -tzvf 1.tar.gz列举1.tar.gz这个压缩包里面的内容

区别:

gzip 只能压缩单个文件

tar 可压缩多个文件或文件夹 可解压到指定目录 可查看压缩包包含文件

查看运行进程: jobs ps 网络命令 ping
ctrl +l清空终端屏幕
方向上下键查看历史执行过的命令
ping www.baidu.com测试与百度服务器的连接.
ps查看进程
ps -au查看所有进程和用户创建进程
kill 进程号PID杀掉进程
kill -9 进程号强制杀掉进程
ctrl +c强行中断正在执行的命令
ctrl+z暂停正在执行的命令
tab 自动补齐文件名输入文件名的前面一部分,按tab直接可以联想出后面一部分
ping www.baidu.com >1.log & & 的作用就是将这个任务放到后台执行
ping www.baidu.com > 1.log &    将ping命令的结果输出到1.log中,且后台执行
tail -f 1.log                   查看动态日志日志文件持续写入,持续增加.
ping www.baidu.com > 1.log      占住窗口,不能输入其他命令
ctrl+z                			暂停上面正在执行的命令
fg                    			将暂停的任务,继续运行,放到前台运行
bg                    			将暂停的任务,继续运行,放到后台运行
ps aux                     		查看所有前台,后台,用户创建的进程
ps aux | grep ssh     			在所有的进程中筛选, ssh这个协议相关的进程
								[ssh:    可以进行远程登录linux的一个协议]
jobs  							查看后台运行的任务
文件编辑 vi 文件名

vi a.txt 编辑a.txt这个文件. 如果不存在的话,则会自动创建

编辑模式:按i进入

命令模型:按Esc键 进入

  1. vi a.txt 进入了命令模式

  2. 命令模式下,输入i insert 进入编辑模式

  3. 编辑文件

  4. 按ESC 由编辑模式返回命令模式

  5. 输入:wq write and quite 保存并退出

步骤: vi b.txt-> 按i进入编辑模式 ->输入文本->按ESC返回命令模式->:wq 保存并退出

命令模式下,输入i代表在当前光标前面插入
命令模式下,输入a代表在当前光标后面插入
命令模式下,输入o代表在当前光标下面新开一行插入
命令模式下输入 :set number显示行号
命令模式下输入 :set nonumber不显示行号
命令模式下输入 gg光标跳转到文件的第一行
命令模式下输入 :5光标调整到文件的第5行
xshell锁定终端 ctrl+s
xshell解锁终端 ctrl+q
退出
命令模式下输入 :wq保存并退出
命令模式下输入 :w写入
命令模式下输入 :q退出
命令模式下输入 :q!强制退出.该文件的修改放弃
删除
命令模式下输入 x删除当前光标所在字符
命令模式下输入 3x删除当前光标所在的3个字符
命令模式下输入 dd删除一行
命令模式下输入 3dd删除3行
命令模式下输入 u撤销
命令模式下输入 ctrl+r反撤销
复制粘贴
命令模式下输入 yy复制一行
命令模式下输入 3yy复制光标所在行+下面两行
命令模式下输入 p粘贴一行
命令模式下输入 3p粘贴3次

注:在编辑文件时,直接按ctrl+z退出文件. 则会生成一个.swp文件.这个文件需要删除,否则每次都会提示

rm -rf .xxx.swp

从window传文件到 linux :xftp

1.先在桌面,创建一个txt文档,然后输入内容,保存
2.通过xftp这个工具,将该txt文档,传递到linux

xftp这个工具,可以在windows和linux之间进行文件互传:

  • 1.双击打开xftp
  • 2.文件->新建
  • 3.输入linux主机ip
  • 4.协议选择SFTP. 用户名root 密码123456
  • 5.选择文件,进行拖拽. 就可以实现windows和linux互传
文件权限

文件权限 文件所属者 文件所属组 文件建立日期 文件名

-rw-r–r–. 1 root root 283 5月 18 16:26 1.sh

dr-xr-xr-x. 4 root root 4096 12月 3 2018 boot

权限的 第1位 表示文件类型

文件权限三个身份 u g o

linux 是支持多用户:

user 文件所有者 groups 同组用户 other 其他用户

权限的 后9位

前三位 中三位 后三位

user 权限 所属组 groups 权限 other 权限

权限有4种:数字表示的权限
- 无此权限0
r read 读权限4
w write 写权限2
x execute 执行权限1

权限的数字组合 权限的相对位置是确定的 rwx
0 啥权限没有 —
1 执行权限 --x
2 写权限 -w-
3 写+执行权限 -wx
4 读权限 r–
5 读+执行权限 r-x
6 读写权限 rw-
7 读写执行权限 rwx

权限修改
修改文件的权限
chmod 000 a.txt    将a.txt的user权限改为0,将group的权限改为0,将other权限改为0

useradd zhangsan   创建一个普通该用户zhangsan
su - zhangsan          切换到zhagnsan用户
exit   退出当前用户,返回root用户
使用 u+r  u+w  u+x   u-r 给文件所有者添加,或删除权限
chmod u+r a.txt    将a.txt这个文件的所有者加上读权限,其余的group和other不动
chmod a+w a.txt   给a.txt这个文件,所有人加上写权限
chmod u-w a.txt    给a.txt这个文件,所有着删除写权限

a all u+g+o

目录权限

​ 文件 目录
r 可以读取文件内容 可以ls列举从该目录里面的所有内容
w 可以修改文件内容 可以在该目录内touch创建文件,删除文件
x 可以执行文件 可以cd进入该目录

结论:

每个文件 包含三种用户的对该文件可进行的操作权限; 排列方式 user groups others
判断用户能否查看文件 :
1.如果文件的所属用户user和所属组groups 是当前的登录对象 ,即使权限不足也可以强制对文件进行操作
2.如果文件的所属用户user和所属组groups 不是当前的登录对象,则当前登录用户只能作为other用户,查看该文件对other用户的权限来进行操作

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/962572.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号