初识Linux操作系统

简介
通配符
常用指令
管道
软链接
用户管理
用户组管理
文件权限修改

简介

  • linux文件系统无盘符,只有根目录

  • 常用命令简介

pwd:显示当前路径
cd:切换到指定路径
ls:显示当前路径下所有文件以及文件夹
ls -l:以列表形式显示当前文件以及文件夹(可以简写为:ll)
ls -a:显示隐藏文件
ls -h:以K为单位显示文件以及文件夹(单独使用无意义,可以配合-l使用此外参数无前后顺序,可以使用-hl代替)
cd ~:返回家目录(即home目录)
  • 注意:所有隐藏文件和文件夹都以.开头
  • 命令行操作:通过SSH客户端连接服务器

通配符

  • 找到以特定文件名称的文件或文件夹
*:代表0个或多个任意字符
?:代表1一个任意字符
[1234]:代表[]中的任意一个字符
[1-4]:代表1-4中的任意一个字符(字符也是如此)

cd

  • cd 用来打开文件夹
  • 相对l路径
  • 绝对路径:cd /home/long/Desktop
  • cd -:当前目录和上一个目录之间的切换

touch

  • touch 用来创建文件
touch 文件名

mkdir

  • mkdir 用来创建文件夹
  • 注意文件和文件夹不能重名
mkdir 文件夹名

rm

  • rm 用来删除文件或是文件夹
rm test.txt 直接删除文件
rm -d aaa 直接删除文件夹
rm -r aaa 直接删除文件夹
  • 注意:若要使删除文件夹要加上参数-r或-f

mv

  • 移动文件或文件夹(相当于剪切)
mv test.txt aaa 移动test文件到文件夹aaa下(剪切)
相对路径和绝对路径都可以
mv a aaa 移动问价夹到另一个文件夹种
移动过程种而可以改名
mv test.txt ./test1.txt  相当于给文件改名

cp

  • 这里注意要是复制文件夹要加参数 -r
cp test.txt aaa 复制text.txt文件到文件夹aaa中
cp -r a aaa 复制文件夹a到文件夹aaa中

which

which ls:对应命令ls程序文件所在的位置;其它的类似
which cd:这个输出为空,比较特殊,因为cd为shell内置命令

find

  • 专业文件搜索
  • 精确搜索
find 路径 -name 文件名
  • 模糊搜索
  • 按用户名搜索
find 路径 -name '12*'
文件名可用''比较规范
find 路径 -iname '12*' 忽略文件名大小写搜索
  • 按文件大小搜索
find 路径 -size +1
默认单位为块:1块=521B;大小默认为u整数,不会出现小数
  • 按用户来进行搜索
find 路径 -user 用户名
  • 按文件更改时间来搜索
find 路径 -mmin +5
+5代表文件被更改时间大于5分钟,-5代表文件被更改时间小于5分钟
  • 按照文件类型来搜索
find 路径 -type 文件类型
f、d、l,分别代表缩写
  • 多重条件搜索
-a:条件连接符表示与,-o条件连接符表示或
find 路径 -type f -a -name 'a*'

locate

  • 文件搜索优点是:速度较快,因为它有自己的文件索引库,在自己的文件索引库里面进行搜索,搜索出包含此名称的文件路径或文件或是文件夹
  • 缺点是:索引库不是实时更新的,新建立的文件等可能会造成因为没有更新而搜索不到,此时可以管理员的身份更新索引库:sudo updatedb

sudo

  • 在命令前加sudo代表管理员权限

查看文件内容

  • 主要指文本文件
cat
  • 直接把所有内容显示出来
cat 文件名
cat -b 文件名:加行号,但是去除空格
cat -n 文件名:加行号,包括空格
more
  • 按分页的方式显示出来

文件内容搜素

  • 其实是搜索包含某内容的行
grep 待搜索内容 文件名:显示包含此内容的每一行
grep -n 待搜索内容 文件名:显示包含此内容的每一行且加上行号
grep ^'待搜索内容' 文件名:显示以待搜索内容开头的每一行
grep $'待搜索内容' 文件名:显示以待搜索内容结尾的每一行
grep -i 待搜索内容 文件名:忽略大小写搜索包含此内容的每一行

反向搜索

  • 搜索不包含此内容的行
grep -v 待搜索内容 文件名

more 文件名

echo

  • 用于回显内容
echo 回显内容:将回显内容打印在控制台
echo 回显内容 > 文件名:将此文件内容清除且将回显内容保存在文件中(覆盖)
echo 回显内容 >> 文件名:在此文件中追加回显内容
ls > 文件名:将ls显示内容覆盖在文件中
ls >> 文件名:将ls显示内容追加在文件中
其它带有输出的命令类似
  • 注意>或>>右面的文件可以是存在的或是不存在的

管道

  • 把一个命令的输出通过管道连接作为另一个命令的输入
  • 一般和more命令结合使用,因为输出结果太多
ls -lh | grep 待搜索内容
在ls -lh结果中抓取待搜索内容的行

软链接

  • 相当于创建一个快捷方式
  • 可以给文件或是文件夹创建软链接
ln 待创建软链接文件或文件夹名称 软链接名称

用户管理

  • sudo为超管权限命令
添加用户
sudo useradd 用户名
  • 设置用户密码
sudo passwd user1
  • 创建用户在home目录下
sudo useradd -m 用户名
  • 给root用户设置密码
sudo passwd root
  • 从root用户退出到普通用户ctrl+d或exit
  • 切换到普通用户
su 用户名 		
  • 切换用户且回到home目录
su - 用户名
删除用户
sudo userdel user1
删除用户以及homemulu
sudo userdel -r user1
强制删除
sudo userdel -f user1

用户组

  • 用户组分为2种,一种是初始组,另一种是附加组
  • 用户组的操作实在root权限下进行的
  • 查看用户组
cate /etc/group
用户组添加
groupadd 用户组名
 用户组改名
 groupmod -n 新用户组名 待修改的用户组名
用户组删除
 groupdel 用户组名

查看文件id
ls -i
查看此用户的一些id
ls 用户名

查看用户密码是 
cat /etc/shadow

内置命令

  • 登录用户时一些命令跟着shell加载到内存中,执行时直接执行,无需再从外存种加载
  • 典型的cd为内置命令,可以用which来判断为内置还是外置命令
  • “我是谁”
whoami
  • 查看当前登录此计算机有哪些用户
who 
  • 修改用户的初始组
usermod -g 修改后所在组的用户名 当前所在组的用户名
usermod -g long user1
  • 修改用户的附加组
usermod -G 修改后的所在组(多个可用,隔开) 当前用户所在组
  • 注意这里不是新增附加组,而是修改即可以理解为覆盖
  • u(user)所有者;g(group)所属组;o(other)其它用户
    r读,w写,x执行

在这里插入图片描述

文件权限修改

  • 这里注意只有文件所有者和超管可以修改文件权限
  • 这里对于t.txt文件给所有者删除x权限,其它的类似
  • +表示添加新权限,-表示删除此权限,=表示设置此权限
chmod u-x t.txt
  • 格式二:使用数字来表示权限
  • r=4;w=2;x=1
  • 多个权限直接用数字来表示
  • 按位置分别给所有者、所属组、其它用户设置为只读权限
chmod 444 t.txt
  • 修改文件所属人
sudo chown 新所属人 文件名
  • 修改文件所属组
sudo chgrp 新所属组 文件名
  • 注意:以上命令都可以添加-R选项来递归修改所有子文件

你可能感兴趣的:(初识Linux操作系统)