上午:
学会c的标准
眼里有编译器
心中有内存
脑中有逻辑
alias 起别名
unalias 取消别名
vim ~/.bashrc 中可以配置别名
. 重新运行一个文件
例如:. ~/.bashrc 重新运行文件.bashrc
vim的使用:
在命令模式下按nyy用于复制当前行及其下一行n-1行
将光标移动到目标位置 p(paste)
如果取消上次的操作u(undo)
$带你各位到当前行末尾
0 地位到当期行的行首
J 将下一行合并到当前行的行尾
删除命令:
x 删除光标所在的位置的字符
dw 删除单词
dd 删除当期行
d} 删除当期行到空白行
D 删除光标所在的位置到当前行的行尾
dG 删除从当前位置开始直到文件结束
跳转:
H 跳到当前屏幕的最上行
L 跳到当前屏幕的最下行
M 跳到当前屏幕的中间行
ctrl+n 自动提示功能、
shift +{ 跳到前一个空白行
shift +} 跳到下一个空白行
替换命令:
:2,4s/main/int/ 替换2-4行的main位int
:%s/main/int/ 替换全文的main为int
:%s/is/IS/g 如果一行中有多个is都要被替换,则后面加个g
查找:
/int 查找int
(被找到的int则高亮显示,要恢复,则删除/root/.viminfo)
:sp
:vsp
(ctrl+w w 光标在两个文件跳转)
可视化:
v
d 删除
y 复制
date 显示日期
date +%Y%m%d%H%M%S 显示日期
touch login`命令`.log
例如:touch login`date +%Y%m%d%H%M%S`.log
` ` 命令替换位执行出来的命令
下午:
cal 显示日历
cal -3 显示上个和下个月份
创建用户:
useradd 创建用户
userdel 删除用户
useradd
-g 创建用户组到那个组里面
-G 添加附加组(可以直接写)
groupadd 添加组
groudel 删除组
useradd 用户名
groupadd 组名
在用户中添加一个组:
useradd 用户名
useradd -g 组名 用户名
useradd -g 组名 -G 附加组 用户名(在用户中添加组和附加组)
whoami
su - 用户名 切换用户
who am i
exit 退回刚才的用户
//添加的用户其实在/etc/passwd
mahao:x:501:501::/home/mahao:/bin/bash
用户名:密码:用户ID:用户组ID:简要描述:家目录:shell类型
// /etc/shadow
mahao:
6
<script type="math/tex" id="MathJax-Element-1">6</script>3RuKL2kn$TWSWtHeOuIPBvzayoESH0bnedPXQ3JRhWtF41anibpXBOLqXzeI7zzU9QYNCosoGhVS3bRY1NA
JEkM3nbcG0k.:16623:0:99999:7:::
用户名:加密过的密码:天数::天数:::
// /etc/group
// /etc/gshadow
关机命令:
shutdown -h now 广播,调用init 0
init 0 关闭所有的服务,调用halt
halt -p 关闭电源
重启
shutdown -r now
init 6
reboot
1:tar 打包,解包
tar -cvf ----------打包为tar包
例如:tar -cvf 要打包的名字 打包文件
tar -xvf ----------解包
2:压缩
-z 压缩为gzip格式
-j 压缩为bzip2格式
在目录下查找文件:
find 路径 -name "文件名"
-name 按照名字查询
-user 按照用户查找
-type 按照类型查找
d
b
c
l
p
s
f
-a ‘或’的关系,(-user "bajie" -a -name *.c)
find 路径 -name "文件名" -exec 命令 {} \;
(对找到的文件执行-exec后面的命令)
例如:find . -name "*.jpg" -exec ls -l {} \;
- -mtime 修改文件的时间
-atime 访问文件的时间
-ctime 文件状态被改变的时间
+n n天前
-n n天内
例如:find . -mtime +1
(可以用在脚本中让他自动删除以前的日志)
grep “main” *.c
管道:|
例如:find . -name "*.c" | xargs grep "main"
find /usr/include/ -name "*.h" | xargs grep "strtok"
xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令
当你尝试用rm 删除太多的文件,你可能得到一个错误信息:/bin/rm Argument list too long. 用xargs 去避免这个问题
find ~ -name ‘*.log’ -print0 | xargs -0 rm -f
查找所有的jpg 文件,并且压缩它
find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
拷贝所有的图片文件到一个外部的硬盘驱动
ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory