1、Linux目录基本
/ 根目录,相当于Windows的我的电脑,以/开头的路径都是绝对路径,其他开头的都是相对路径
.和./(点)当前目录
..和../上一级目录
2、目录相关基本命令
查看当前所在路径
# pwd
切换到/root目录
#cd /root
切换到登录用户的家目录,root的是/root,其他用户为/home/用户名,效果和cd ~一样
#cd
返回上一级目录
#cd ..
回到上一次目录,类似于后退功能,但是只能回退一步,反复使用cd -就是来回切换当前目录和上次目录
#cd -
当前目录下内容查看
#ls
指定目录下内容查看
#ls /root/temp
目录下详细信息查看,两者等效
#ls -l
#ll
查看目录下所有文件包括隐藏文件,Linux的隐藏文件以.开头
#ls -a
查看目录大小
#du -sh
查看目录下文件大小
#ll -h
在当前目录创建temp目录
#mkdir temp
在/root目录下创建temp目录
#mkdir /root/temp
级联创建目录(test目录原本不存在,如果不加参数,就会报错,等效于先创建test,再去创建temp)
#mkdir -p /root/test/temp
一次创建多个目录,多个目录以空格分开,绝对路径和相对路径都行
#mkdir a b c
删除目录,可以是相对路径,也可以是绝对路径
#rm -r 文件夹
目录改名、移动,可以是相对路径,也可以是绝对路径(文件操作一样)
#mv 文件夹 新文件夹
目录复制,复制temp目录到test/下(文件操作一样)
#cp /root/temp /root/test/
3、文件相关基本命令
文件创建,相对路径和绝对路径都行,需要保存才会创建
#vi 文件路径
创建一个空文件,创建一个空的test.log
#touch test.log
删除test.log
#rm -f test.log
文件改名
#mv test.log new.log
查看文件所有内容
#cat test.log
动态查看文件最新内容
#tail -F test.log
倒着查看最新200行,且实时
tail -200f test.log
一屏查看文件内容,如果内容过多,cat没法完全展示
#more test.log more命令详解
动态查看
#less test.log less命令详解
4、用户相关基本命令
查询用户信息
#id root
新增用户组
#groupadd -g 400 dba
查询工作组,显示所有工作组
#cat /etc/group
删除工作组
#groupdel dba
修改工作组,修改组id为401,组名称为dba2
#groupmod -g 401 -n dba2 dba
新增用户useradd
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s:指定用户登入后所使用的shell;
-u:指定用户id。
#useradd –g dba mysql –G root -u 500 -d /usr/local/mysql(用户组dba已存在)
用户切换
#su test //切换用但是不切换目录
#su - test //切换用户并切换到该用户的家目录
查询单个用户
#id root
查询所有用户信息
#cat /etc/passwd
修改用户
#usermod mysql -u 600 -d /dev/ -g root -G dba
删除用户
#userdel mysql
密码修改
#passwd root 后面连续输入两次一样的密码即可
5、环境变量相关
环境变量分为全局变量和用户变量,全局变量作用于Linux下所有用户,用户变量只作用于用户本身
全局变量设置
# vi /etc/profile 编辑环境变量
#source /etc/profile 使编辑的环境变量生效
用户变量设置
#vi ~/.bashrc 编辑环境变量
#source ~/.bashrc 使编辑的环境变量生效
6、权限相关
用户权限临时提升
#vi /etc/sudoers
添加test ALL=(root) NOPASSWD:ALL,test用户可以无密码使用sudo提升权限
$sudo vi /etc/profile
chmod修改文件及文件权限
chmod 选项 对象权限增减 文件或文件夹
选项较常用的为-R,递归级联目录,即该操作适用目标文件夹及所属子文件夹和文件
对象分为u(所属用户),g(同组用户),o(其他用),a(所有用户)
权限增减方式为=(赋值),+(增加),-(减少)
权限分为r(读),w(写),x(执行)
#chmod u=rwx,g+rx,o-x test.sh
chown修改文件及文件夹所属用户
#chown -R test /root/test
7、特殊符号相关
I管道符,讲前一个命令的结果输出给另一个命令作为输入使用
#ps -ef|grep 8080 //ps -ef查询进程信息,grep过滤查询结果,只显示包含8080字符的进程信息
>覆盖重定向输出符号
#echo "test" > test.log //将test字符串覆盖写入到test.log
>>追加重定向输出符号
#echo "test2">>test.log //将test2追加写入到test.log
$变量获取符号
#cd $JAVA_HOME //跳转到环境变量JAVA_HOME所指向的目录,例如/usr/java/jdk1.8
&后台进程符号
#./startup.sh & //后台执行startup.sh脚本,关闭当前终端不影响执行
*任意字符匹配,?单个字符匹配
#find / -name *test?.log //查询所有目录中文件包含test任意单个字符.log的,例如111test2.log,12121test3.log等