linux命令笔记
为了便于以后巩固复习linux命令
linux用户
一个超级用户(root,/root/目录,可对普通用户操作,标识"#"),多个普通用户(/home/用户名,不能操作超级用户,标识"$")
useradd -m ffg 创建ffg用户,并在/home/目录下创建ffg目录
passwd ffg 创建或修改ffg密码
su ffg 切换到ffg用户
userdel -r ffg 删除ffg用户,并删除/home/目录下ffg目录(需通过Ctrl+D退出ffg当前环境)
环境变量
whereis date 查找date所在的路径(可以查找各种内置命令)
cp /bin/date /home/ffg/work/my_date 复制bin目录下的date文件到/home/ffg/work/目录并重命名为my_date
echo $PATH 查看当前的环境变量
export PATH=$PATH:/home/ffg/work/ 设置环境变量(当前环境变量+需要添加的环境变量)
文件与权限
-rwxr-xr-x. 1 ffg ffg 62168 May 23 05:20 my_date
上述命令代表:
- '-'代表为文件,'d'代表目录
- r=read(读), w=write(写), x=execute(执行). 前三rwx当前ower所有权限,中三r-x当前group可读可执行权限,后三r-x其他用户可读可执行权限
- 1个文件
- ower ffg
- group ffg
- 文件大小62168
- 创建日期May 23 05:20
- 文件名my_date
ls -la 列出当前目录详细(-l)的隐藏(-a)和非隐藏文件的信息
man 可以查看任意命令的用法
chmod 644 my_date 修改my_date权限为ower(6=110=rw-),group(4=100=r--),others(4=100=r--)
文件操作
touch helloworld 创建一个helloworld文件
vi helloworld 编辑helloworld文件
vi下:wq保存并退出 :q!不保存退出 :%!xxd二进制显示
cp helloworld helloworld_bk 从helloworld复制一份hellowrld_bk
rm helloworld_bk 删除helloworld_bk
mv helloworld helloworld_bk 讲helloworld重命名为helloworld_bk
file helloworld_bk 查看helloworld_bk文件类型
目录操作
cd 'cd .'当前目录, 'cd ..'上一级目录, 'cd ~'当前用户home目录, 'cd -'返回上一次的目录
rwx r可以列目录内容(ls), w可以在目录写文件或目录(touch), x可以进入目录(cd)(rx的基础)
du -sh work 查看work目录下所有的文件大小
Winrar-Tar命令
tar cf my_tar.tar 1 my_date 将1目录和my_date文件打包到新创建的my_tar.tar下(c创建,f打包后目标文件)
tar tvf my_tar.tar 查看(t)详细(v)my_tar.tar打包的文件目录
tar cjf my_tar.tar.bz2 1 my_date 将1目录和my_date文件通过bz2压缩到新创建的my_tar.tar下(c创建,j使用bz2压缩,f打包后目标文件)
tar xf my_tar.tar 解压my_tar.tar
diff -r work work1 查看work目录和work1目录下有什么不同(r比较子目录)
find命令
find /usr/scr/ -type f -name "*.c" 搜索出'/usr/scr/'目录下所有名(-name)为'.c'结尾的文件(-type f,目录是d)
find /usr/scr/ -name "*.c" -exec wc -l {} ; 统计'/usr/scr/'目录下所有名(-name)为'.c'结尾每个文件的行数(wc -l).参数exec是执行commond命令,'wc -l'为统计文件内容行数,'{}'代表对没一个结果执行'wc -l'命令,';'转义;代表命令结束
find /usr/scr/ -name "*.c" -exec cp {} scr/ ; 将搜索的结果拷贝到scr/目录下
find /usr/scr/ -name "*.c" >> count ; wc -l count ; rm count '>>'讲结果重定向写入到count文件里,然后统计count内容行数,最后删除count文件
find /usr/scr/ -name "*.c" | wc -l 上面的简化版本,通过'|'管道符号将前面的输出用作后面的输入
vim命令
最早的是vi编辑器,vim在vi上进行改进
vi三种状态,'vi hello-world'进入 命令 状态,在'命令'状态下按'i'进入 插入 状态, 按'ESC'回到 命令 状态,在'命令'状态下输入':'进入 末行 状态
alias 查看别名
末行 'set number' 显示行数
命令 '行号G GG $ ^' '行号G'跳转到指定行,'GG'跳转到末行,'$'跳转到行尾,'^'跳转到行首
命令 'dd vd dG u' 'dd'删除当前一行, 'vd'选中删除,'dG'删除当前光标后面所有,'u'撤销
命令 'yy vy p' 'yy'复制当前行, 'vy'选中复制, 'p'粘贴
面所有,'u'撤销
命令 /字符串 '/字符串'来搜素关键字, 'n'来搜索匹配的下一个