【竺】Linux笔记1——基础命令
Linux是做什么的?
一般用来做服务器端的操作系统,
服务器:提供服务、数据处理、安全
操作系统=开机之后进入的操作环境预览
电脑=硬件+操作系统(软件)
硬件=鼠标、键盘、显示屏、耳机、cpu、主板、内存卡、声卡等肉眼可见,手可触摸到的东西。
我们使用的软件的运行环境就是操作系统,使用编程语言开发的软件,就是运行在操作系统上的。
Linux版本
内核版本:操作系统心脏,处理跟各种硬件打交道的工作。包括硬件管理、内存管理、文件系统、线程管理
发行版本:内核版本+各种应用软件(办公,媒体播放, 浏览器,数据库....)
Ubuntu(客户端版本、服务器版本)、Redhat(服务器版本)、CentOS(服务器版本)
Linux文件系统(目录与文件)
没有盘符的概念,只有一个根目录
/根目录下有:/bin(二进制文件),普通命令、/etc、/home、/lib、/usr (存放unix系统资源)目录等
基本命令
pwd——显示当前路径
ls——列出当前路径所有文件,蓝色代表文件夹、白色代表文件
ls -l 列出详细信息
ls -a 显示隐藏文件夹
ls -i 显示id
ls -li 显示id与详细信息
ls -l -a 显示所有文件,包括详细信息
ls -l -h 按照文件大小按照kb显示,不加-h按照字节显示
ll = ls -afl
ls -lh
ls -lha
ls / 显示根目录下的文件
ls /home 显示home目录下的文件
* 通配符,代表0个或多个
ls *.odt 列出所有odt文件
ls *.txt 列出所有txt文件
ls 1* 列出以1开头的文件
?通配符,代表1个字符
ls ???????? 匹配出cccc.odt
ls ????.odt
ls c???.odt
ls [abcd]ccc.odt 匹配到cccc.odt
ls [abc][abc][abc].odt
ls [a-d]ccc.odt
ls [1-4]234.odt
cd——切换文件夹,change directory
cd .. 上一文件夹
cd ../.. 上一个文件夹的上一个文件夹
cd ~ 根目录
cd - 切换到上一目录
cd D +Tab +ow +Tab 自动补全文件夹名
clear 清屏
touch 创建文件
touch test.txt 创建文件
touch .test2.txt 创建隐藏文件
touch bb
mkdir 创建文件夹
mkdir bb
rm 移除
rm 123.odt 移除文件
rm -d bb 移除空文件夹 directory
rm -r aa 移除非空文件夹 recursively递归
mv 移动
mv test.txt aa 移动文件到aa
mv 456.txt /home/siki/Desktop/aa 移动文件到aa
mv bb aa 移动bb文件夹到aa
mv *.txt aa 移动所有txt文件到aa
mv 11.odt ./ 22.odt 移动到根目录并改名
mv 11.odt aa/22.txt 移动到aa目录并改名
cp 复制
cp 11.txt aa 复制 到aa
cp -r aa/bb . 复制bb文件到当前目录
cp 11.txt 22txt 改名
cp 11.txt aa/22.txt 复制到aa并改名
find 专明用于查找
精确搜索 ?
模糊搜索 *
find / -name 11
find /home -name '11.txt'
find /home -iname 'abc' 忽略大小写
find /home/siki/Desktop/ -user siki 查询所属人为siki的文件
find /name/siki/Desktop/ -size +1 在该目录下查找大于512kb的文件
-1 小于512kb的文件
+6
=6
空文件夹大小为4k,可以用ls -lh查看,也可看作是小文件,实际<4k
查询200Mb的文件
200Mb=200*1Mb=200*1024kb=200*1024*2数据块=409600
1M=1024kb
1数据块=0.5kb
1kb=2数据块
find /home -size +409600
min时间限制
find /home/siki/Desktop/ -mmin +5 5分钟外被修改的文件
modify minutes -5 5分钟内
nmin 上次文件内容被修改的时间
amin 上次文件被访问时间
cmin 上次文件权限被修改的时间
type
find /home/siki/Desktop/ -type f 查询文件类型
find /home/siki/Desktop/ -type d 查询目录类型
find /home/siki/Deskop/ -type l 查询软链接类型
type同时搜索两个条件
find /home/siki/Desktop/ -name 'a*' -type f
find /home/siki/Desktop/ -name 'a*' -a -type f ,and同时
-o,or或者
根据id查询
ls -li
find /home -inum 1182591 ,inum=id number
locate查询
速度快,速度与计算机性能有关,但更新不及时,容易查询不到,locate比find快
sudo update 以身份,更新数据库
locate 11.txt
cat查看
cat 11.txt 查看文档(少的内容)
more 11.txt 分页查看(多的内容)
cat /etc/group 查看有哪些组
cat /etc/password 查看密码
cat /etc/shadow 查看密码,影子文件
cat /etc/gshadow 查看用户组的密码,影子文件
grep搜索文件内容 n行号、v不查询,^开头,$结尾,i忽略大小写
grep user 11.txt 在11文档里,查询user关键字
n行号:
v不查询:
grep -v user 11.txt 查询不包含user的行
grep -v '#' /etc/services 不查询包含注释的行
^开头:
grep ^'#' /etc/services 只查询以#开头的语句
$结尾:
grep s$ /etc/services 只查询以s结尾的语句
grep -v ^'#' /etc/services 不查询以#开头的语句
echo回显(相当于输出)
echo hello 输出hello
echo hello>11.txt 将hello打印到11.txt,会将原来的文件覆盖
echo hello>>11.txt 追加,不会覆盖
>打印到文档
ls>11.txt 将ls得出的结果打印到11.txt
>>追加到文档
ls>>11.txt 将结果追加
ll>>11.txt 追加
| 管道把一个命令输出通过管道连接,作为另一个命令的接入
ls -lh | grep 11.txt
grep -v ^'#' /etc/services | more 将结果分页查看
grep -v ^'#' /etc/services | grep update 抓取与update相关的语句
Linux分超级管理员和普通用户
useradd添加用户名
sudo useradd user1 启用超级管理员权限system user do
sudo useradd -m user2 创建user2并放在home目录下
passwd创建密码
sudo passwd use1
sudo passwd root 设置root密码
创建用户组,方便权限控制,有初始组和用户组的区别
su用户切换
su root 切换到root用户
exit退出
su user1 切换到user1
su - user1切换到该用户下的家目录
userdel用户删除
userdel user1
userdel -r user1 并且删除家目录
cat etc/passwd 检查是否删除
userdel -f use1 强制删除
添加组
groupadd group1
cat /etc/group 查看是否添加
修改组名
groupmod -n groupnew group1 将组名改成groupnew
cat /etc/group
删除组
groupdel groupnew
cat /etc/group
修改组
usermod -g user2 user1 初始组-g
id user1
usermod -G root user1 附加群组-G
id user1
usermod -s /bin/sh user1 把user1的shell修改成bin/sh
id查询用户id、组id、所属组
id user1 查看user1的用户名、密码、用户id、组id、全名、家目录、使用的shell
ls -i 查看文件id
chmod修改文件权限:rwx|r--|r-- 所有者|所属组|其他用户,文件权限修改,只有文件所有者、超级管理员能够修改权限
chmod [ugoa][+-=][rwx] 文件或者目录
chmod u+x 11.txt
ll
chmod u-rw,g-r 11.txt
chmod u=rwx 11.txt
数字表示权限,由来rwx的二进制:000,100,010,001,110-》6, 111-》7,所以r=4,w=2,x=1,r--:4,rw-:6,rwx:7,-wx:3
chmod 444 11.txt
chmod u=r,g=r,o=r 11.txt
chown修改文件拥有者change own
sudo chown user1 11.txt
chgrp修改拥有组change group
sudo chgrp user1 11.txt
help帮助
rm --help 移除的帮助手册
man rm
which 查看命令文件所在的位置
which ls创建
which cd
whoami
who
cat -b 11.txt 显示多少行,忽略空格
cat -n 11.txt 显示多少行,不忽略空格
grep -n user 11.txt 查询user关键字,并显示行号