日常操作命令
查看网络命令 : ping
查看当前所在的工作目录(print working directory)X:pwd
查看系统当前时间 :date
查看当前在线 :who
查看当前登录的用户名 :whoami
查看最近的登录历史记录 :last
文件系统操作
ls与ll的区别:
-
ls: 不换行显示当前文件夹下的文件夹或文件的名字
/ 查看根目录下 的子节点(文件夹和文件)信息(list)
ls -al -a是显示隐藏问津 -l是以更详细的列表形式显示(list all)
-
ll: 换行显示当前文件夹下的文件夹或文件的名字,以及这些文件夹或文件的详细信息
ll -h 换行显示文件并显示其大小(带单位)
切换目录(change directory):
-
cd /home 切换到当前用户的家目录
-
cd ~ 如果是root用户,cd ~相当于cd /root
如果是普通用户,cd ~相当于cd /home/当前用户名
创建文件夹(make directoriy)
- mkdir a 相对路径的写法,在当前目录下创建目录a
- mkdir -p a/b/c 在当前目录创建目录a,并在a下创建b,在b下创建c
- mkdir /data 绝对路径的写法,/代表根,意思是在根目录下创建了data目录
- mkdir -m 用于对新建目录设置存取权限,也可以用 chmod 命令进行设置
创建文件:
- touch 文件名.后缀
- eg:text.1
echo往文件中添加内容
- echo “所要添加的内容” > 指定内容添加的文件名 覆盖,利用重定向“>” 的功能,将一条指令的输出结果写入到一个文件中
- echo “所要添加的内容” >> 指定追加内容的文件名 追加
cat查看文件中的内容
- cat text.1
删除文件夹
- rmdir 一般不用这个命令,因为它只能删除空目录,使用不太方便
rm 删除文件(remove),而不是文件夹
- -r 断递删除
- -f 强制删除文件或目录(force)
- -i 删除前逐一询问确认
例如: rm -r aaa 可以把aaa整个文件夹及其中的所有子节点
rm -rf aaa 强制删除aaa文件夹所有文件
mv 修改文件夹或者文件名称:移动文件或目录
- mv 源文件/源目录 目标文件/目标目录 更改文件名称
- mv 源文件 目标文件 把源文件移动到目标目录下
- mv 源文件 目标目录/文件名 把源文件移动到目标目录下,并修改文件名
例如:mv text.1 b 把文件text.1文件移动到目录b下
mv text.2 b/text.2.bak 把文件text.2移动到目录下,并修改名字为text.2.bak
用vi文本编辑器来编辑生成文件
最基本用法
vi text.3 vim text.3
1、首先会进入“一般模式“,此模式只接受各种快捷键,不能编辑文件内容
2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容
3、编辑完成之后,按ESC键退出编辑模式,回到一般模式
4、在按冒号,进入“底行命令模式”,输入wq命令,回车即可
按i进入编辑模式后,且编辑完成后
- 按ESC,在按:wq,即可保存退出
- 按ESC,再按:wq!,即可强制保存并退出
- 按ESC,再按:q!,即可不保存强制退出
一些常用快捷键(在一般模式下使用)
- i 在光标前一位开始插入
- I 在该行的最前面插入
- a 在光标后一位开始插入
- A 在该行的最后插入
- gg 直接跳入到文件的首行
- G 直接跳到文件的末行
- dd 删除行,如果 5dd,则一次性删除光标后的5行
- yy 复制当前行, 复制多行,则是3yy,复制当前行附近的3行
- p 粘贴(右键)
- v 进入字符选择模式,选择完成后,按y复制,按p粘贴
- ctrl+v 进入块选择模式,选择完成后,按y复制,按p粘贴
- shift+v 进入行选择模式,选择完成后,按y复制,按p粘贴
查看并替换(底行命令模式)
- %s/sad/8888 效果:查看文件中所有sad,替换为8888
- /you 效果:查看文件中出现的you,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)
文件权限的操作
Linux文件权限的描述格式解读
以drwxrw-r–为例
d,-rw,r–,r–(也可以用二进制表示 111 101 101 --> 还可以用十进制表示 755)
- d:标识节点类型(d:文件夹 -:文件 l:链接)
- r:可读,既能显示内容
- w:可写,既能修改内容
- x:可执行,即可当做程序运行
第1位:文件类型
第2~4位rwx:表示这个文件的拥有者对它的权限:可读可写可执行
第5~7位rw–:表示这个文件的所属组对它的权限:可读可写不可执行
第8~10位r–:表示这个文件的其他用户对它的权限:可读不可写不可执行
第2~10位:表示所有的权限,用a(all)表示
修改文件权限(change mode)
简单示例:
- chmod u+x hello.sh 表示将hello.sh对所属用户的权限增加x (u:user)
- chmod g-rw hello.sh 表示将hello.sh对所属组的rw权限取消 (g:group)
- chown o-rw hello.sh 表示将hello.sh对其他人的rw权限取消 (o:other)
也可以用数字的方式来修改权限:
- chmod 664 hello.sh 修改成rw-rw-r–
- chmod 777 (111 111 111) hello.sh 修改成rwxrwxrwx
- chmod -R 770 aaa 递归修改aaa文件夹中的所有文件的权限为770
- chmod -R dyh:dyh aaa 递归更改aaa文件夹的所有者为用户gyh(只有root能执行)
注1:目录没有执行权限的时候普通用户不能进入
注2:文件只有读写权限的时候普通用户是可以删除的(删除文件不是修改它,是操作父级目录),只要父级目录有执行和修改的权限
用户管理
添加用户命令:useradd
- -u 指定组ID(uid)
- -g 指定所属的组名(gid)
- -G 指定多个组,用逗号“,”分开(Groups)
- -c 用户描述(comment)
- -e 失效时间(expire date)
- -d 指定主目录
创建一个简单用户 :useradd 用户名
示例:建立一个新用户账号newuser,并设置UID为544,主目录为/user/newuser,属于users组
userdd -u 544 -d /user/newuser -g users -m usr
修改密码
- passwd 用户名
删除用户命令
- -r 删除账号时同时删除目录(remove)
- userdel 用户名 (user delete)
切换用户
- su 用户名
给普通用户临时root权限
- sudo useradd 用户名(执行完这条指令后从root身份回到普通用户的身份)
添加组
- groupadd -g 指定gid
- groupadd -n 更改组名
删除组
- groupdel 组名
为用户配置sudo权限
- vim /etc/sudoers 打开sudo的配置文件
- root ALL=(ALL) ALL 找到这行在下面添加普通用户名,例如:newuser ALL=(ALL) ALL
eg:sudoers文件只是一个只读文件,其实强制修改的话也没关系,但是如果你觉得不安全,可以在修改文件之前先赋予文件写权限(W),修改保存之后再收回写权限,操作如下:
chmod u+w /etc/sudoers
进行修改,修改完成之后:
chmod u-w /etc/sudoers
系统管理操作
查看IP地址及网络配置
- ip addr
- ifconfig
查看主机名
- hostname
修改主机名(重启后无效)
- hostname hadoop
修改主机名(重启后永久生效)
- vi /etc/sysconfig/network
重启网络服务
- service network restart
- systemctl 服务名 restart /start stop
修改IP(重启后无效)
- ifconfig eth0 ip地址
修改IP(重启后永久生效)
- vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置hosts文件,识别主机名
- vi /etc/hosts
关机
- halt
重启
- reboot
挂载外部存储设备到文件系统中
- mkdir /mnt/cdrom 创建一个目录,用来挂载
- mount -t iso9660 -o ro /dev/cdrom/mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点/mnt/cdrom中
eg:-t:文件系统类型,iso9660 表示光盘或者光盘镜像 -o:挂载方式,ro 表示以只读方式,loop 表示把挂载的设备当做一个磁盘分区
umount
- mount -t auto /dev/cdrom /mnt/cdrom CentOS7使用mount命令来挂载CDROM
- umount /mnt/cdrom 卸载CentOS CDROM挂载
统计文件或文件夹的大小
- -h:带上单位
- du -sh /mnt/cdrom/Packages 统计指定路径下的所有子目录和文件的大小
- df -h 查看磁盘的空间
配置主机之间的免密ssh登录
假如:A主机要登陆B主机
-
在A上操作:生成密钥对
ssh-keygen (提示时,直接回车即可) -
再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中
ssh-copy-id B
eg: ssh-copy-id 192.168.33.111 用主机名也可以,只要你的host文件中配置了,让它能认识这个主机名就可以啦