编程只是起点
我们的终点是星辰大海

linux基础命令

整理一下幕课网的Linux达人养成计划I和II笔记
http://www.imooc.com/learn/175
http://www.imooc.com/learn/111

提示符

[root@iZ282buk0npZ ~]#
[当前用户@主机名 当前未知(家目录)]超级用户提示符(普通用户$)

ls命令

-a 显示所有文件,包括隐藏文件

-l 显示详细信息
-rw-r--r-- 1 root root 14995 Apr 13 17:36 master.zip(-文件 d目录 l软链接)
-h 人性化显示
-d 目录属性
-i 文件id号

显示所有文件大小,并以普通人能看懂的方式呈现 ls -AsSh

mkdir命令

-p 递归创建目录

cd(change directory)

cd ~ 家目录
cd家目录
cd - 上次目录
cd.. 上一级
pwd 显示当前位置
rm -rf 删除只读属性的文件时会有提示,使用-f强制删除,-r删除目录
非图形界面没有回收站,删除不可恢复

复制剪切

cp from_dir to_dir
mv from_dir to_dir
-r 复制目录
-a 复制文件属性

常见目录

/boot 启动目录
/dev 设备文件
/etc 配置文件
/home 普通用户家目录
/lib 系统库保存目录
/mnt 挂载目录
/tmp 临时目录
/usr 系统软件资源目录
/bin 普通用户命令
/sbin 超级用户命令
/var 系统文档
/proc
/sys 系统内存

链接命令

硬连接,指向相同的索引,有相同的i节点和block块,可以看做同一个文件,不能跨分区,不能对目录执行。

ln -s 原文件 链接文件
软链接,类似win中的快捷方式,指向不同的索引,不同的i节点和block块,新的block中存着原文件的i节点。

文件搜索find

最强大的搜索命令find:
find <指定目录> <指定条件> <指定动作>
避免大范围搜索,非常消耗系统资源。

根据文件名搜索:find /root -name install.log(只匹配名字相同的)
根据文件名搜索:find /root -name "install.log*"(使用通配符要用引号)
通配符:*匹配任何内容 ?任意一个单独字符 []任意一个中括号内的内容
根据文件名搜索不区分大小写:find /root -iname install.log(linux严格区分大小写)
根据所有者:find /root -user root
搜索没有所有者:find /root -nouser(垃圾文件、内核产生、外来文件)
搜索当前目录(含子目录)中,所有文件名以my开头的文件:find . -name 'my*'
搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信:find . -name 'my*' -ls

按照时间搜索:find /var/log -mtime +10
-10:10天前
10:第10天当天
+10:10天内
时间轴辅助理解:
过去_____第十天当天_____现在

atime文件访问时间
ctime改变文件属性
mtime修改文件内容

根据文件大小:find . -size 25k
根据文件大小:find . -size 25M(-25M小于25,+25M大于25)
根据i节点:find . -inum 666666

搜索/etc下大于9k小于100m的,然后执行ls -lh:
find /etc -size +9k -a -size -100M -exec ls -lh {} \;
注释:-a逻辑与,-o逻辑或。-exec ls -lh {} \ 标准格式,对结果进行操作

其他文件搜索

locate 在数据库中按文件名搜索,速度快,阿里云服务器最小化安装的,输入locate提示可以-bash: locate: command not found可以运行yum -y install mlocate安装locate,安装后又提示locate: unexpected EOF reading /var/lib/mlocate/mlocate.db'输入updatedb更新一下数据库

whereis 查找命令位置和帮助文档
which 通常用来确定是否安装某个软件,因为他只从环境变量指定的路径搜索命令

在文件中搜索符合条件的行:
grep [选项] 字符串 文件名(可使用正则表达式)
-v:取反(不包含字符串的行)
-i:忽略大小写

df 查看磁盘分区使用状况

-a 显示所有文件系统
-h 以1024进制计算
-H 以1000进制计算
-T 显示磁盘分区类型
-t 显示指定分区类型
-x 不显示指定分区类型

du统计磁盘上文件的大小

-b 以byte为单位
-k 以KB为单位
-m 以M为单位
-h 以1024为单位
-H 以1000为单位
-s 指定统计目标

添加新硬盘

分区、格式化、挂载

帮助命令

type查看命令类型
man 系统帮助手册
info GUI超文本帮助系统,比man显示信息更全
ls --help 查看命令选项

whereis cd 确定是否为shell内部命令
help cd 查看shell内部命令

压缩解压命令

zip file.zip file 压缩文件
zip -r file.zip file 压缩目录(压缩包用红颜色显示)
unzip -O GBK 中文压缩文件.zip 指定编码类型
unzip -l shiyanlou.zip 查看压缩包的内容
unzip -q shiyanlou.zip -d ziptest 使用安静模式解压到指定目录

gzip file压缩file变成file.gz,原文件消失
gzip -c file &gt; file.gz 把压缩a的结果输出到file.gz
gzip -r dir 压缩目录下的文件,但不能压缩目录,不方便
gzip -d file.gz 解压

bzip2 file压缩file,不保留原文件
bzip -k file 保留原文件
不能压缩目录

tar -zcvf file.tar file
-c:打包
-C 指定路径
-v:显示过程
-f:指定打包后的文件名
-z:压缩为tar.gz格式
-j:压缩为tar.bz2格式
-x:解压tar.gz或tar.bz2(后面跟-c 指定解压缩路径)
-t:查看压缩包内容

关机与重启

root:shutdown -h nowshutdown -r now
非root:halt(立刻关机)和reboot(立刻重启)

挂载命令

pass

用户和用户组的配置文件

早期Linux的账号和密码是在同一个文件中的,后来因为系统要频繁地读取用户和用户组文件,因此两个文件的权限不能太苛刻,而密码的隐私性比较高,就另外拿出两个文件保存用户密码和组的密码。

用户:/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:用户编号:用户组编号:注释信息:主目录:shell类型
用户密码:/etc/shadow

用户组:/etc/group
root:x:0:
组名:密码占位符:组编号:组中用户列表
用户组密码:/etc/gshadow

用户和用户组基本命令

添加一个用户 adduser uname
为新添加的用户设置密码 passwd uname
添加一个组:groupadd gname
重命名组名:groupmod -n newgname gname
更改组编号:groupmod -g 888 gname
创建组并指定编号:groupadd -g 888 gname
添加组密码:gpasswd gname
删除组:groupdel gname

 

添加用户并指定组:useradd -g gname username
添加用户并指定组和附属组:useradd -g gname -G ogname username
添加用户并指定目录:useradd -d dir username
添加备注:usermod -c comment username
更改用户名:usermod -l newuname username
修改用户的组:usermod -g gname username
删除用户:userdel username

禁止普通用户登录:touch /etc/nologin

锁定用户:passwd -l uname
解锁用户:passwd -u uname
删除用户密码:passwd -d uname

添加附属组:gpasswd -a uname ogname
切换用户到附属组:newgrp ogname
删除附属组:gpasswd -d uname ogname

切换用户:su uname
显示当前用户:whoami
用户信息:id uname
显示用户所在组:groups umane
设置用户详细资料:chfn uname
显示用户详细资料:finger uname

xshell快捷键

清屏:Ctrl + l
透明:alt + r
全屏:Alt + Enter
复制:Ctrl + Insert
粘贴:Shift + Insert
光标移到开头:ctrl + a
光标移到结尾:ctrl + e
顶部:Shift + Home
底部:Shift + End
增加移到粒度:ctrl+方向键
删除光标所在字符:ctrl + d

输入单词搜索历史命令:ctrl + r
锁定终端:ctrl + s
解锁终端:ctrl + q

将终端向上滚动 Shift+Pgup

Tab 命令补全文件补全
快速点击三次选中当前行

其他

headtail 查看头几行和尾几行,-f参数可以实时查看

PATH=$PATH:/home/shiyanlou/mybin 把某目录添加到系统环境变量

>>将标准输出以追加的方式重定向到文件,>以覆盖的方式

.bashrc 每次启动默认执行的配置脚本以初始化环境,在每个用户目录下和 /etc 目录下

source把一个文件的内容当做shell执行、重新执行刚刚修改的初始化文件,使之立即生效,别名是.

本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可 »钟声博客 » linux基础命令

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

闲鱼助手友情链接