我的Linux命令小记
最近在学Linux系统命令,为方便自己也方便他人,简单地记录一下,方便以后查阅。本文不是什么完整列表,而是简要地列出了需要时派得上用场的命令
一、查看目录下有什么文件信息
> ls //list查看当前目录下有什么文件\r> ls -l 或ll //list -list 通过详细内容形式查看目录下的文件内容\r> ls 目录 //查看指定目录下文件名字信息\r> ls -l 目录 //以详细列表形式查看指定目录下文件名字信息\r> ls -a //list all 查看全部文件,包括隐藏文件\r> ls -al //list list all 以详细列表形式查看全部文件,包括隐藏文件\r> ls -i //查看目录下文件名字的索引号码
二、目录切换
> cd 目录名字\r> cd .. //向上级目录切换\r> cd ~ //快速切换回自己的家目录
三、查看操作者信息(是谁在操作系统)
> whoami
四、不同用户间的切换
> su - //切换为root用户\r> su - root //效果同上\r> su 普通用户名称 //向普通用户切换\r> exit //当前用户退回到之前用户
su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用
jinnan--->root--->jinnan--->root--->jinnan
五、图形模式与命令模式进行切换
> init 3 //图形 向 命令模式切换\r> init 5 //命令 向 图形模式切换
六、查看指令对应的可以执行程序文件位置
> which 指令
七、目录操作
1. 创建目录 make directory
> mkdir newdir\r> mkdir -p newdir/newdir/newdir //递归方式创建多级目录\r newdir新目录多于1个层次(2/3/4等)就设置-p参数,如果就一个新的目录则无需-p参数\r> mkdir dir/newdir\r> mkdir dir/dir/newdir\r> mkdir -p dir/newdir/newdir
2. 移动(改名字)目录 move (目录/文件 都可以操作)
> mv dir1 dir2 //dir1移动到dir2目录下,并给改名字为"原名"\r> mv dir1 dir2/newdir //dir1移动到dir2目录下,并给改名字为newdir\r> mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并给改名字为"原名"\r> mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并给改名字为 newdir\r> mv dir1/dir2 ./ //dir2移动到 当前 目录下,并给改名字为"原名"\r> mv dir1/dir2 ./newdir //dir2移动到 当前 目录下,并给改名字为newdir
3. 复制(改名字)目录 copy (目录/文件 都可以操作)
3.1 复制普通文件
> cp file1 dir1 //file1被复制到dir1目录下一份,并给改名字为“原名”\r> cp file1 dir1/newfile //file1被复制到dir1目录下一份,并给改名字为newfile
3.2 复制目录 -r 参数要求 recursive递归方式拷贝目录
> cp -r dir1 dir2 //dir1被复制到dir2目录下一份,并给改名字为“原名”\r> cp -r dir1 dir2/newdir //dir1被复制到dir2目录下一份,并给改名字为newdir\r> cp -r dir1/dir2/dir3 dir4/dir5 //dir3被复制到dir5目录下一份,并给改名字为"原名"
4. 删除 remove
> rm filename //普通文件删除\r> rm -r dir //删除目录[无视层次]需要-r参数\r> rm -rf 文件 //recursive force 递归强制删除文件\r //force 避免删除隐藏文件的提示\r> rm -rf / //递归强制方式删除系统里边的全部内容
八、用户操作
user,配置文件 /etc/passwd
1. 创建 add
># useradd username //创建用户会同时创建同名组\r># useradd -g 组编号 username //创建用户的同时设置组别\r># useradd -g 组编号 -u 用户编号 -d 家目录 username \r //创建用户同时,指定组别、用户编号、家目录
2. 修改 modify
># usermod -g gid username //修改组别是常见操作\r># usermod -g gid -u uid -d 家目录 -l newname username \r //修改组别、用户编号、家目录、名字
注意:
家目录修改后需要手动创建,不同于创建用户家目录设置
创建用户时设置家目录,该目录会自动创建
修改用户家目录时,该目录不会自动创建(需要手动创建)
3. 删除 delete
># userdel username //删除用户(删除passwd文件对应信息),此时其家目录需要手动删除\r># userdel -r username //删除用户的同时也删除其“家目录”
九、组别操作
group, 配置文件/etc/group
1. 创建 add
># groupadd groupname
2. 修改 modify
># groupmod -g gid -n newname groupname
3. 删除 delete
># groupdel 组名\r //注意:只有空组(内部没有用户信息)才允许删除
十、vi编辑器使用
1. 命令模式-->编辑模式切换(插入/Insert)
a "光标" 向后移动一位\ri "光标" 和 "内容" 没有变化\ro "新"起一个空白行\rs "删除"光标所在字符
2. 尾行模式作用
:q quit退出编辑器\r:wq write quit 保存并退出\r:w write 保存\r:q! 强制退出(不要保存)\r:w! 强制写保存\r:wq! 强制保存退出\r\r:set number 或 set nu //给编辑器设置行号\r:set nonumber 或 set nonu //取消行号设置\r\r:数字 光标跳转到数字所在行\r\r:/内容/ 或 /内容 //内容查找,小写n(next)下一个\r 大写N(next)上一个\r\r#内容替换 "cont1"被替换为"cont2"\r:s/cont1/cont2/ //把光标所在行的"第一个"cont1替换为cont2\r:s/cont1/cont2/g //把光标"所在行"的全部cont1替换为cont2\r:%s/cont1/cont2/g //把"整个文档"中的全部cont1替换为cont2
3. 命令模式操作
3.1 光标移动
a. 字符级\r 上(k) 下(j) 左(h) 右(l) 键\rb. 单词级\r w word下个单词首字母\r e end下(本)个单词尾字母\r b before上(本)个单词首字母\rc. 行级\r $ 行尾\r 0 行首\rd. 段落级(两部分内容中间有空行,彼此成为段落)\r { 上(本)个段落首部\r } 下(本)个段落尾部\re. 屏幕级(不给翻屏)\r H 屏幕首部\r L 屏幕尾部\rf. 文档级\r G 文档尾行\r 1G 文档第一行\r nG 文档第n行
3.2 内容删除
dd 删除光标所在行\rn+dd 包括当前行在内向下删除n行内容\rx 字符级删除,删除光标所在字符\rcw 光标所在字符删除至单词结尾(是删除单词的便捷方式)\r 同时会进入编辑模式
3.3 内容复制
yy 复制光标所在行\rn+yy 包括当前行在内向下复制n行内容\rp 对复制(删除)好的内容进行粘贴操作
3.4 便捷操作
u undo撤销,从文件打开后的所有操作都可以撤销\rr 对单词字符进行替换\r. 重复执行"最近"的一条指令\rJ 合并上下两行
十一、权限设置
1. "字母相对方式"设置权限
权限: r读 w写 x执行
用户: u主人 g同组 o其他组
chmod u+/-rwx, g+/-rwx, o+/-rwx 文件
不同用户通过",逗号"分隔
在同一个用户里边,+/-只能用“一个”
"rwx"在同一个用户里边可以设置一个或多个
"ugo" 每次权限操作可以设置一个或多个用户
>chmod u+rw filename //主人增加读、写\r>chmod g-rx filename //同组删除读、执行\r>chmod u-w,g+x filename //主人删除写,同组增加执行\r>chmod o+w,o-x filename //其他组用户“增加写、删除执行”
2. "数字绝对方式" 设置权限
读: 4 写: 2 执行: 1
权限类型:
0: 没有权限
1: 执行
2: 写
3: 写、执行
4: 读
5: 读、执行
6: 读、写
7: 读、写、执行
>chmod ABC filename //ABC分别代表主人、同组、其他组用户权限\r>chmod 764 filename //主人读、写、执行, 同组读、写, 其他读\r>chmod 777 filename //满贯权限\r>chmod 000 filename //所有用户没有任何权限
字母和数字方式取舍:
权限修改的比较"少",就使用字母方式
权限修改的比较"多",就使用数字方式
十二、在文件中查找指定内容
grep 内容 (绝对/相对路径)目标文件
> grep sbin /etc/passwd //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出
十三、查看文件占据磁盘空间大小
> du -h 文件/目录 \r> du -h 文件名称 //以k M的形式查看文件占据磁盘空间大小
十四、文件查找
find 现值查找目录 选项 选项值 选项 选项值...、
1. name 根据文件名字查找指定的文件
find 目录 -name 完整文件名称\r> find / -name passwd[完整名称] //"递归遍历"系统全部目录查找名字等于passwd的文件 \r> find /etc -name passwd[完整名称] //递归遍历/etc及内部所有目录查找 名字等于passwd的文件\r> find 目录 -name "an*"[部分名称] //模糊查找文件名字以an开始的
2. 对查找的目录层次进行限制
-maxdepth 限制查找的最"深"层次\r-mindepth 限制查找的最"浅"层次\r> find / -name passwd -mindepth 3 -maxdepth 4 //在3到4个层次的目录里边定位passwd文件
3. 根据文件大小进行查找
size 单位
> find ./ -size 50c //在当前目录下查找大小[等于]50个字节的文件\r 单位:\r 数量 单位 实际大小\r 100 -------> 512字节:【100*512字节】\r 50c -------> 字节 : 【50字节】\r 50k -------> 千字节: 【50*1024字节】\r 50M -------> 兆字节 【50*1024*1024字节】\r> find ./ -size +50c //在当前目录下查找大小[大于]50个字节的文件\r> find ./ -size -50c //在当前目录下查找大小[小于]50个字节的文件
十五、开关机指令
># reboot //重启\r># poweroff //关机