list列出文件及文件夹
ls
ls *.cpp
ls -F
不同文件显示不同信息
ls -a
所有文件,.开头的文件是默认隐藏的
ls -l
文件属性
vdir
类似 ls -l
显示当前目录
pwd
改变目录
cd
cd ..
上层目录
cd ./
当前目录
cd /proc
################### 查看文件 ##############
cat -n 1.cpp
显示行号 -n
[more] 展示文件部分,空格翻页,回车下一行
[more 1.cpp]
[more -2 Program.cs ]
head 显示开头的几行
[head -2 Program.cs ]
tail 显示结尾的几行
[tail -2 Program.cs ]
less 底部有一个冒号等待输入,空格向下,B 向上, /.+ 搜索,继续查找,再次输入 / 回车 q 推出
less -M 更多文件信息
[less 1.cpp]
#################### 搜索命令 #################
[grep -n '123' 1.cpp] 显示行号
#################### 切换用户 #################
su 用户切换命令,如果没有指定,切换到root
sudo 以管理员执行
[su root] [su zjp]
#################### 软件包管理 #################
查看所有的已安装软件名称。
[rpm -qa]
显示软件安装路径
[rpm -ql <软件名>]
---------------安装vscode
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
yum check-update
sudo yum install code
#################### 显示当前目录 #################
[pwd]
################### 终端快捷方式 位置 ##############
usr/bin/gnome-terminal
################### 我的东西在那里 find 命令
find 目录 -name zjp 找名字里面有zjp 的东西
如果完全不知道在那个目录,用locate
[locate *.doc]
文件数据库
updatedb --需要root locate 的数据源 后台数据库默认一天更新一次
#################### 从终端运行程序 #################
[firefox]
[firefox &] --启动浏览器以后继续在终端中
#################### whereis #################
查找特定程序,
[whereis Code]
#################### who #################
[who]
[whoami]
[uanme -r] ---查看内核版本信息
#################### man 完整的命令提示 #################
[man find]
#################### whatis 简单的命令提示 #################
[whatis find]
[apropos search] ---什么命令可以用来 search
#################### 文件与文件夹与权限 #################
--------------创建文件夹
[sudo mkdir work]
----------------文件夹权限
[sudo chgrp workgroup work/] ---将work 文件夹的权限交给 workgroup 组
[sudo chmod g+rwx work/] --使上面的组对work 目录有读写执行权限
[sudo chmod o-rwx work/] ---撤销其他用户对work 目录的读写执行权限
接下来将work 目录交给一个组长,现在work 目录的所有者是root
[sudo chown zjp work/] ---work 目录的所有者变成zjp
现在属于这个组的成员可以访问文件夹了,其他人不可以访问
--------------- 建立文件夹和目录
------建立目录 mkdir
mkdir 可以一次性建立多个目录
[mkdir ddd]
[mkdir -p ~/jjjjj/fdsaf] ----/p 用于建立完整的目录结构,目录不存在就创建
-----建立文件 touch
[touch 1.c]
1.建立一个空白文件,
2.更新现有文件的时间
移动,复制和删除命令
[mv hello /bin] mv 源 目标
也可以移动目录
[mv /bin /opt]
mv 命令发现移动重名,直接替换,不做任何提示
提示是否替换
[mv -i hello.py /bin/hello]
自动重命名
[mv -b hello.py /bin/hellogrep]
将同一目录的文件重命名
[mv hello.py hello.bak]
复制文件夹 和命令
cp 复制文件夹或文件,默认重名默认覆盖,需要加上-i参数
rm cp mv 命令
--------------- cent root用户 默认 rm , cp , mv 命令 默认 alias ~ -i
[su root]
[cd ~]
[vi .bashrc ]
cp 执行复制任务的时候,自动跳过里面的目录,可以用-r 选项,所有都会cp
cp rm mv 命令 -r 参数 执行递归 复制,删除,移动
删除目录和文件 rmdir 和 rm
[mkdir zjp]
[rmdir zjp]
rmdir 命令只能删除空的文件夹
删除命令不做任何的提示
[rm /test/*.cpp]
对于只读文件,会即使不加 -i 选项,也会自动提示,如果需要避免,需要强制删除
[rm -f zjp.jjjjj]
递归删除根目录
rm -r /
如果不希望提示任何东西
rm -rf /
rm -rf / tmp (想删除 /tmp 目录,结果中间多了个空格,然后 boom )
对于目录而言,执行权限控制的是 用户能否进入该目录,读取权限确定的是,是否能列出目录中的内容,写入权限控制的是创建 删除 重命名
ls -l 命令可以查看文件的属性,包括权限
-rw-rw-r--. 1 zjp zjp 0 Apr 5 13:01 test.jjj
第一个 ‘-’ 代表文件类型,普通文件,
第二个 rw- rw- r-- 分别表示属主,属组,和其他人的权限,r 读取,w 写入,x 执行,没有权限就用 - 表示
第三个子段和第四个子段表示属主 和 属组
跟着 三组权限的数字表示链接数,这里是1 ,表示 只有一个硬链接
最后的表示,大小,时间,路径
查看目录的属性, [ls -ld /root]
改变文件所有权: chown 和 chgrp
将zjp.jjj 属主更改为 zjp ,属组更改为 root
[sudo chown zjp:root zjp.jjj]
如果不需要改属组的话,冒号后面可以省略
如果不需要改属主,只改属组,
[sudo chown :zjp zjp.jjj]
将一个文件夹下面的所与文件和子目录的所有权都改变
[sudo chown -R zjp /root]
改变文件夹权限: chmod
这个命令通过使用 “用户组+- 权限” 的方式来增加或者删除对应的权限,用户组包括
属主(u),文件属组(g),其他人(o),所有人(a)
权限包括:
读取(r),写入(w),和执行(x)
例如:
下面的命令增加了属主对文件 zjp.jjj 的执行权限
[chmod u+x zjp.jjj]
[chmod a-x zjp.jjj]
[chmod ug=rw,o=r zjp.jjj]
将用户组1 和用户组2 权限完全一致:
chmod o=u zjp.jjj
只有文件的属主才能改权限
通过8进制改变权限:
1代表执行,2代表写入,4 代表读取, 每个位,需要的权限相加就可以
属主完全控制,属组和其他人有执行权限
[chmod 711 zjp.jjj]
#################### 找到对应的进程pid #################
[top -u zjp]
找到对应进程的pid
[cd ./proc/<pid>]
[ls -al]
系统启动进程的时候,会在/proc 下面生成一个 以PID 命名的文件夹,该文件夹下有相应的信息,用ls 查看
exe-》 执行程序的绝对路径 软链接 ls -al exe 显示为 明亮蓝色字体,说明是软连接
cmdline是启动程序用的命令
ls -l ,文件详细信息
#################### alias 永久生效 #################
[cd ~] (shift + esc 下面的按键) ~ 代表当前用户的目录
[vi .bashrc]
~/.bashrc 这个文件添加信息
.bashrc 文件 添加 alias 只对相应的用户生效
root 用户对应的目录是 /root
zjp 用户对应的是 /zjp
若在 .bashrc 文件中添加如下
alias ff='/usr/lib64/firefox/firefox'
那么该用户在控制台执行 ff 或者 ff & 就会直接进入 firefox
[useradd testuser] 创建用户testuser
[passwd testuser] 给已创建的用户testuser设置密码
linux 文件类型:
linux 中一切都是文件的形式,包括程序进程,硬件设备,以及其他东西
- : 普通文件
d : 目录
c : 字符设备文件
b : 块设备文件
s : 本地域套接口
p : 有名管道
l : 符号链接
建立链接:ln
运行的时候输入 ./cho (alias 直接输入 ch 就可以)
[ln -s /opt/google/chrome/chrome cho]
当前目录生产一个软连接
不带-s 选项是硬链接,带 -s 是软链接
硬链接,改动一个文件 另一个文件也会被改变
大部分使用软链接
重定向:>1.txt 会直接覆盖现有文件,追加用 : >>
管道:|
通过 | 将一个命令的输出链接到另一个命令的输入上:
获取目录i所有的文件,然后从这些文件中找到包含123 的文件
[ls | grep 123]
查看当前已经挂载的全部文件系统 : df
df 显示全部挂载信息,不需要的花加上 -t 参数
[df -t]
[ls /dev | grep sd] 查看dev 目录中,以sd 开头的文件
新建用花,属于root 组
[useradd -g root zjp11]
[passwd zjp11]
history 命令,查看用过的命令
history 10 最近10 条命令
用户主目录下 .bash_history 文件,记录了用户的操作
/ect/passwd 文件记录了用户的信息
/etc/shadow 文件记录了用户的密码
删除用户 userdel
管理用户帐号 : usermod
-d 修改用户主目录
-e 修改帐号的有效期限
-g 修改帐号的所属组
-l 修改用户帐号名称
-s 修改用户登陆后所使用的shell
把john 改名为mike,主目录
[usermod -l mike -d /home/mike john]
查看用户信息: [id zjp]
etc/sudoers
查看进程信息
[ps aux | grep chrome ]
终止进程
[kill 21888]
ps lax 可以显示进程的父进程
时时追踪进程信息,使用top 命令:
产看占用文件的进程: lsof
lsof 1.doc
强制关闭:
[kill -KILL <pid>]
[kill -9 <pid>]
二:Centos默认不会建立本地连接,至少在虚拟机里是这样,自己新建一个就行了:
1.cd /etc/sysconfig/network-scripts/
2.vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
NM_CONTROLLED=yes
保存退出。
3.重启网络
service network restart
vim:
H,J,K,L 四个按键控制光标位置;
光标定位到某一行,o 键下方插入一行,O 键上方插入一行
:w 1.txt 保存
:wq 保存并退出
:q! 放弃保存并退出
/zjp 搜索字符串 zjp
?zjp 向上搜索字符串zjp
:set ignorecase 设置搜索忽略大小写
:set noignorecase 设置搜索不要忽略大小写
:1,4s/i/iiiii/g 文件替换,1,4 代表1到4 行,i 是要替换的,iii 是替换后的,g代表替换一行中的所有匹配向,可用的有c,替换前询问,e,不显示错误消息,i,不区分大小写,可以组合
:syntax on语法高亮
:set autoindent 自动缩进
linux 中,一个tab 是8个空格
^ 移动光标到行首
$ 移动光标到行尾
G 移动光标到文件尾
u 撤销
ctrl + R 恢复
全文范围把^M 替换为空(windowns 结尾)
:%s/^M$//g
init 和运行级
init 定义了运行级,用一些整数表示,几乎所有的进程都是init 创建的
0 系统关闭
1 单用户模式
2 功能受限的多用户模式
3 完整的多用户模式
4 一般不用,留着用户自定义
5 多用户模式,运行xwindow
6 重新启动
telinit 6 重启,不需要root
gnome-shell --version
gourpadd mockbuild
useradd mockbuild -g mockbuild
linux 部署 .net core
################################# BEGIN #################################
为了安装.NET,需要注册微软签名密钥和添加微软相关的支持。这个操作每台机器只能做一次。
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
安装.NET SDK
sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.2
安装完成之后,可以用以下命令来检测是否安装成功。
dotnet --info
################################# END #################################