linux的基本操作总结,copy拿走!
-rwxrwxrwx 可读可写可执行
-rwx------ 文件的所属用户可以读写执行,但其他用户都不可读写执行
-rwxrwx--- 文件的所属用户和组内用户可以读写执行,但其他用户不可读写执行
---------- 所有的用户都不可读写执行
ls d* 查找以字母d开头的所有的文件
ls a*b 查找以字母a开头,b结尾的所有文件
ls a? 查找a开头,文件名只有2个字母,第二个字符任意的文件名
ls [abc]* 查找a或者b或者c开头,后面任意的文件名
ls [a-f]* 查找从a到f之间开头的任意文件名
ls [1-7]* 查找从1到7之间开头的任意文件名
ls [*] 查找以*开头的文件名
ls a-f 查找文件名叫a-f的文件
ls \*1 查找*1这个文件名
ls > a.txt 把ls显示的结果放入文件a.txt中
ls >> a.txt,追加重定向,如果a.txt已经有内容了,不会覆盖已有内容,而是在a.txt后面追加
more的功能是显示文件内容
more a.txt 显示文件a.txt的内容
ls | more 把ls显示的结果分屏显示,把ls的输出作为more的输入使用
cd abc 从当前目录下进入abc子目录
cd .. 返回上一级目录
mkdir abc 新建立一个文件夹,名字叫abc rmdir只能删除空目录,如果目录里面有文件,那么删除失败
rmdir abc 删除文件夹abc
rm a.txt 删除文件a.txt
ln a.txt a 创建一个链接文件,名字叫a,链接到a.txt,创建的是一个硬链接
ln -s a.txt b 创建一个链接文件,名字叫b,链接到a.txt,创建的是一个软链接
硬链接会占用磁盘空间,软链接不会,如果目标文件不存在了,那么硬链接文件还可以访问,但软链接就不行了
cat显示文件内容,但不会自动分屏
cat a1.txt a2.txt > a3.txt 将a1.txt a2.txt合并为a3.txt
grep hello a.txt 在a.txt中查找字符串hello
grep printf stdio.h 在stdio.h中查找包含printf的行
grep -v printf stdio.h 在stdio.h中查找不包含printf的行
find ./ -name 1.txt 从当前目录开始查找所有的子目录,名字为1.txt
find / -name 1.txt 从根目录开始查找所有的子目录,名字为1.txt
rm -rf * 强制删除当前目录下所有的文件和子目录
cp ./2/a.txt ./1/a.txt 拷贝当前目录下2目录下的a.txt到当前目录下的1目录下
mv ./2/a.txt ./1/a.txt 将a.txt从2目录下移动到1目录下
mv 123.txt 1.txt 把123.txt改名为1.txt
windows所有的文件类型都是通过文件的扩展名实现的
linux的扩展名只是一个名而已,不代表文件类型
windows下的文件一般都有扩展名,但linux下很多文件没有扩展名
ps -aux 查看所有的进程,包括前端后台 参数中的-可以有,也可以没有
tar -cvf a.tar a 将目录a打包为文件a.tar
tar xvf a.tar 将a.tar还原
先用tar打包,然后用gzip压缩
先用gzip解压,然后用tar提取文件
rpm -ivh 要安装的安装包文件名
添加用户或者租,只有root才有这个权限
groupadd abc 添加一个组,名字叫abc
groupdel abc 删除一个组,
ubuntu下安装的时候默认是不设置root密码的
切换到root用户的时候又需要提供root密码
sudo passwd root回车
-d指定用户的主目录,什么是主目录呢?就是用户第一次登陆的时候默认的目录
linux的主目录一般都设置在根目录的home目录下,这不是系统的要求,只是一个规则。
增加一个用户,用户名叫aabb,用户的主目录在/home/aabb,主目录的目录名和用户名一般是相同的
-m意思是,如果-d指定的主目录不存在,那么就自动创建这个目录
useradd -d /home/aabb aabb -m
userdel aabb 将aabb用户删除
userdel -r aabb 删除aabb用户,同时自动删除用户的主目录
useradd -d /home/aabb aabb -m -g abc 创建用户aabb,主目录在/home/aabb目录,组是abc
passwd aabb 设置用户aabb的密码
切换用户的命令
su 用户名
su - 用户名
su的时候不加-,只切换用户,但不改变当前目录
su的时候 加-,切换用户,同时将当前目录切换到目标用户的主目录下
如果用root su到其他用户,那么不需要输入其他用户密码
但如果普通用户之间切换必须输入密码
退出登录exit
su 只切换用户到root,不改变当前目录
su - 切换用户到root,同时将当前目录修改为root用户的主目录
如果创建用户的时候没有指定组名,那么系统默认会创建一个和用户名相同的组名,同时把这个用户放到这个组里面
zhujy -》 aabbcc -》 root
只有一个用户退出登录后才能删除这个用户,一个已经登录的用户是无法删除
用root登录系统,然后进入根目录下的etc目录
查看shadow文件内容
如果要su到root下
su root,但也可以省略root,直接su
a.txt
c:\abc\a.txt windows写法
/abc/a.txt linux写法
相对路径表达方法
cat a.txt 如果不加任何路径说明,默认是当前目录下的文件
cat ./a.txt 明确的指明,a.txt在当前目录下,这是一种相对路径的写法
cat ../a.txt 明确的指明,a.txt在上一级目录下
cat ../2/a.txt a.txt在上一级目录的2子目录下
绝对路径,绝对路径总是从根目录开始的
/home/zhujy/2/a.txt
普通用户的主目录一般都是在/home/下
root用户的主目录在/目录下
windows a.txt,A.TXT是一样的
linux A.txt和a.txt是不一样的
A.txt
a.txt
a.Txt
a.tXt
A.Txt
对一个目录来讲,如果没有r权限,那么就不能用ls查看目录的内容了
如果没有w权限,那么就不能在目录下删除或者增加文件了
如果没有x权限,那么就不能用cd命令来进入这个目录了
rwx rwx rwx 111 111 111
--- --- --- 000 000 000
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
rw- r-- ---
110 100 000
6 4 0
rwx rwx rwx
777
r-x -w- --x
vi默认是命令模式,在命令模式下按i或者a进入输入模式
输入模式下按esc进入命令模式
保存:
在命令模式下按:w 文件名
在命令模式下按:q
vi 后面没有加文件名,默认会开启vi,但不会自动打开任何文件,如果在vi中输入了字符,那么就需要执行w命令的时候,后面加文件名
vi 文件名,,如果文件存在,那么就打开这个文件,如果文件不存在,那么就创建这个文件,那么执行w命令的时候,就不需要再写文件名
:wq 保存同时退出,不能写成:qw
用vi打开一个文件,修改内容后,如果没有用w保存,直接用:q退出的话会提示失败。
如果想不保存退出,那么用 :q!
小练习步骤
先创建一个用户
useradd -d /home/abc abc -m -s /bin/bash -s代表指定一个shell
useradd -d /home/abc abc -m -s /bin/sh -s代表指定一个shell
登录到用户
用vi写一个c语言的hello world
文件名叫a.c 如果是c语言的源代码文件,扩展名必须是.c
编译这个程序,最后成功运行
gcc -o a a.c -o指定编译后的程序名,要编译a.c这个源文件,编译后的可执行程序名字叫a
linux默认不会在当前目录下查找可执行程序
./a 明确的告诉操作系统,a是在当前目录下
crt中终端类型默认是VT100,要选择linux
字符集一定要是utf8
默认vi开启的时候,自动显示行号
第一步,回到用户的主目录下,cd回车
第二步,回到主目录下,生成一个叫.vimrc的文件,文件名前面必须有个.
第三步,在.vimrc中输入set nu
第四步,保存退出
shell 一个linux的字符界面会有很多种不同的shell,是字符界面的人机交互模式
sh是最古老的,也是最基本的unix的shell
如果在创建用户的时候,没有指定shell,那么登录这个用户的时候默认的shell是sh
shell也是一个程序,一般在/bin目录下
gcc在linux下是操作系统自带的,因为linux操作系统本身就是用gcc编译的
windows并不会自带gcc
在windows用gcc方法一,直接去gcc的官网下载安装版本
方法二,安装QT的时候QT会带一个gcc的版本,qt的安装目录下
找到gcc.exe在windows下的安装路径,然后把这个路径放入windows系统环境变量的path里面,在path的最后面;gcc的安装路径
在linux设置系统可以在当前目录查找可执行程序的方法
1,回到用户的主目录
cd
2,在用户的主目录下,打开文件.profile(ubuntu),.bash_profile(redhat)
3.在.profile文件的最后,添加一行 export PATH=$PATH:. 注意这里要大小写敏感
4,保存退出
5,source .profile (redhat)source .bahs_profile
以上所有的的修改只是针对具体某一个用户的,比如说用户a修改了,但用户b不会生效,比如说root修改了,那么其他用户也不会生效
sftp里面要设置远程的路径和本地的路径
cd 1 进入远程连接到的linux的1目录
lcd \test
get abc.c 从远程目录得到文件abc.c,放入本地目录test
http.tar.gz源代码文件的使用方法
步骤一,将文件上传到linux
步骤二,解压
gzip -d http.tar.gz
tar -xvf http.tar
第三步,进入http目录
cd http
第四步,编译这个源代码
make
第五步,切换到root用户
su
第六步,启动程序
./myhttp start
listen 80 success
myhttp begin
代表程序成功启动了
查看当前linux系统内核信息
uname -a
docker的基本操作总结,copy拿走!
### docker 的常用命令
1. service docker status //查看当前docker的状态
2. service docker stop // 停止docker启动
3. service docker start //开启docker.
4. docker images //查看当前所有未启动容器
5. docker ps -a //查看当前正在运行的容器 加上 -a代表所有启动过的容器.
6. docker start (name||id) 重启启动一个容器.
7. docker run 开启一个容器.
8. docker exec -it (id标识) /bin/bash #进入到一个容器中
9. docker run -di --name=mongodb(起的名称) -p 27017:27017 mongo(指定容器名称)
初始化一个容器.