地址:https://www.bilibili.com/video/BV1Nv411B736?p=3
关机
shutdown -h now 立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机
重启
shutdown -r now 立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启
–help命令
shutdown --help:
ifconfig --help:查看网卡信息
man命令(命令说明书)
man shutdown
注意:man shutdown打开命令说明书之后,使用按键q退出
命令:cd 目录
cd / 切换到根目录
cd /usr 切换到根目录下的usr目录
cd ../ 切换到上一级目录 或者 cd ..
cd ~ 切换到home目录
cd - 切换到上次访问的目录
命令:ls [-al]
ls 查看当前目录下的所有目录和文件
ls -a 查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l 或 ll 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir 查看指定目录下的所有目录和文件 如:ls /usr
命令:mkdir 目录
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
命令:rm [-rf] 目录
删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)
全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除
注意:rm 不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用
rm -rf 目录/文件/压缩包
一、重命名目录
命令:
mv 当前目录 新目录
例如:
mv aaa bbb 将目录aaa改为bbb
注意:
mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
二、剪切目录
命令:
mv 目录名称 目录的新位置
示例:
mv /usr/tmp/aaa /usr 将/usr/tmp目录下的aaa目录剪切到 /usr目录下面
注意:
mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
三、拷贝目录
命令:
cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:
cp /usr/tmp/aaa /usr 将/usr/tmp目录下的aaa目录复制到 /usr目录下面
注意:
cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
find
命令:
find 目录 参数 文件名称
示例:
find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件
grep
1.grep命令是一种强大的文本搜索工具
使用实例:
ps -ef | grep sshd 查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身
ps -ef | grep sshd -c 查找指定进程个数
1)多文件
grep 'pattern' file1 file2
2)多文本 , 关系是OR
egrep 'pattern1|pattern2' *.py
grep -e pattern1 -e pattern2 *.py
grep -E 'pattern1|pattern2' *.doc
例如下面对 对文件中 存在关键字 wordA or wordB进行提取:
grep 'wordA\|wordB' *.py
grep -E 'wordA|wordB' *.doc
grep -e wordA -e wordB *.py
egrep "wordA|wordB" *.c
3)多文本关系是 AND
这里我并没有看到 直接能用的【option】,只能加一层管道符|。
例如:
grep -e pattern1 *.py |grep -e pattern2
2.完全匹配关键词 -w
grep -w 'warning\|error\|critical' /home/logs
1) 使用-i参数忽略大小写,–color高亮显示匹配结果
egrep -wi --color 'warning|error|critical' /home/logs
2) 递归查找
egrep -Rwi --color 'warning|error' /home/logs/
命令:
touch 文件名
示例:
touch aa.txt 在当前目录创建一个名为aa.txt的文件
可以参考
rm -rf 文件名
【vi编辑器的3种模式】
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
【1】控制光标移动:↑,↓,j
【2】删除当前行:dd
【3】查找:/字符
【4】进入编辑模式:i o a
【5】进入底行模式::
2) 编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
编辑模式下常用命令:
【1】ESC 退出编辑模式到命令行模式;
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出: :q!
【3】保存并退出: :wq
打开文件
命令:
vi 文件名
示例:
vi aa.txt 或者 vim aa.txt 打开当前目录下的aa.txt文件
注意:
使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
移动文件开头和结尾
开头: 在vim 查看 页面直接输入 gg
结尾:在vim 查看 页面直接输入 G
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存或者取消编辑
命令:
touch 文件名
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq 保存并退出编辑
取消编辑:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑
文件的查看命令:cat/more/less/tail
cat :看最后一屏
示例:
cat sudo.conf 使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
more :百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf
tail :指定行数或者动态查看
示例:
tail -10 sudo.conf 使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
“chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。
ls -l 命令展示的信息简介
列举:
文件属性(占10个字符空间) 文件数 拥有者 所属的group 文件大小(单位字节) 建档日期 文件名
drwxr-x--- 2 root root 37 Apr 18 10:50 data
-rw-r--r-- 1 root root 68549 Sep 26 2018 fields.yml
-rwxr-xr-x 1 root root 33903123 Sep 26 2018 filebeat
-rwxr-xr-x 1 root root 1011 Mar 27 10:13 filebeat-docker.yml
-rw-r--r-- 1 root root 66260 Sep 26 2018 filebeat.reference.yml
-rw------- 1 root root 7231 Sep 26 2018 filebeat.yml
drwxr-xr-x 4 root root 22 Sep 26 2018 kibana
-rw-r--r-- 1 root root 13675 Sep 26 2018 LICENSE.txt
drwxr-xr-x 18 root root 4096 Sep 26 2018 module
drwxr-xr-x 2 root root 4096 Sep 26 2018 modules.d
-rw-r--r-- 1 root root 148778 Sep 26 2018 NOTICE.txt
-rw-r--r-- 1 root root 802 Sep 26 2018 README.md
文件属性一共有十位数,其中:
最前面那个 - 代表的是类型 【- 普通文件,d 目录文件,p 管理文件,l 连接文件,b 块设备文件,c 字符设备文件,s 套接字文件】
中间那三个 rw- 代表的是所有者(user)拥有的权限
然后那三个 r-- 代表的是组群(group)拥有的权限
最后那三个 r-- 代表的是其他人(other)拥有的权限
权限属性简介
Read (r)=4 读权限
Write(w)=2 写权限
Execute(x)=1 可执行权限
(-)=0 无权限
修改权限简介
在终端输入:
chmod o w xxx.xxx
表示给其他人授予写xxx.xxx这个文件的权限
chmod go-rw xxx.xxx
表示删除xxx.xxx中组群和其他人的读和写的权限
其中:
u 代表所有者(user)
g 代表所有者所在的组群(group)
o 代表其他人,但不是u和g (other)
a 代表全部的人,也就是包括u,g和o
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
+ 表示增加权限
- 表示删除权限
= 表示使之成为唯一的权限
其中:
rwx也可以用数字来代替
r ------------4
w -----------2
x ------------1
- ------------0
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
当大家都明白了上面的东西之后,那么我们常见的以下的一些权限就很容易都明白了:
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
命令使用举例
chmod 777 abc.txt 将abc.txt文件操作给【所有用户】设为可读写且可执行
但是一般情况,这样执行chmod 命令会提示权限不足,所以我们需要sudo 命令获取root权限才行
sudo chmod 666 abc.txt 将abc.txt文件操作给【所有用户】设为可读写
sudo chmod u+rwx abc.txt 将abc.txt文件的【所有者】权限设为 可读写且可执行
注意:对于系统管理员和用户来说,这个命令是最有用的命令之一了。在多用户环境或者服务器上,对于某个用户,如果设置了文件不可访问,那么这个命令就可以解决,如果设置了错误的权限,那么也就提供了为授权的访问。
“pwd”(print working directory),在终端中显示当前工作目录的全路径。
pwd
/home/user/Desktop
“sudo”(super user do)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。
sudo add-apt-repository ppa:tualatrix/ppa
注意:sudo 允许用户借用超级用户的权限,然而"su"命令实际上是允许用户以超级用户登录。所以sudo比su更安全。
“history”命令就是历史记录。它显示了在终端中所执行过的所有命令的历史。
history
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak
sudo add-apt-repository ppa:diesch/testing
sudo apt-get update
sudo apt-get install indicator-privacy
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install my-weather-indicator
pwd
cd && sudo cp -r unity/6 /usr/share/unity/
cd /usr/share/unity/icons/
cd /usr/share/unity
注意:按住“CTRL + R”就可以搜索已经执行过的命令,它可以在你写命令时自动补全。
(reverse-i-search)`if': ifconfig
"lsblk"就是列出块设备。除了RAM外,以标准的树状输出格式,整齐地显示块设备。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 46.6G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 190M 0 part /boot
├─sda6 8:6 0 3.7G 0 part [SWAP]
├─sda7 8:7 0 93.1G 0 part /data
└─sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
“lsblk -l”命令以列表格式显示块设备(而不是树状格式)。
lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
sda1 8:1 0 46.6G 0 part /
sda2 8:2 0 1K 0 part
sda5 8:5 0 190M 0 part /boot
sda6 8:6 0 3.7G 0 part [SWAP]
sda7 8:7 0 93.1G 0 part /data
sda8 8:8 0 89.2G 0 part /personal
sr0 11:0 1 1024M 0 rom
注意:lsblk是最有用和最简单的方式来了解新插入的USB设备的名字,特别是当你在终端上处理磁盘/块设备时。
操作学习请点我
作用:自动补全;按一下:如果存在立马出来,如果不是就不会有反应;按两下:将你输入命令相符的命令都显示出来,没有那就真没有了
软件配置方面设置
/usr/share/applications 将快捷方式放到这里,可以在桌面系统看到
删除 WM_CLASS=DBeaver 这条即可
/etc/profile 文件内容末尾添加下述内容
export JAVA_HOME=/opt/apps/jdk1.8.0_77
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
//生效配置
source /etc/profile
java -version
/etc/bash.bashrc 该文件内容末尾,是为了实现其他路径下也是可以调用,永久有效
export JAVA_HOME=/opt/apps/jdk1.8.0_77
export JRE_HOME=${JAVA_HOME}/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
需要中文版本需要下载语言包,语言包下载地址
https://github.com/rexdf/ChineseLocalization
语言包下载地址:
git clone -b st3 https://github.com/rexdf/ChineseLocalization.git ~/.config/sublime-text-3/Packages/ChineseLocalization