哈哈 刚开博文章少,把一天的学习内容拆成三篇来写,我是不是好机智~~<( ̄ˇ ̄)/<( ̄ˇ ̄)/<( ̄ˇ ̄)/
不得不说,这么多零散知识点的总结对我这种记笔记从来没别人能看懂的人来说实在太痛苦了。。占坑慢慢写。。。。
Linux文件结构、开机顺序等没有写,一来自己理解没到位,要写也是去别的地方搬砖;二来确实也太占篇幅。
在生产环境中,我们一般会用工具连接linux服务器,比如xshell,CRT等,使用前修改下字符集。
往linux服务器上传下载有两种方式,一种是用Xftp等工具,跟平时我们win下ftp差不多用法,一种是通过rz-上传sz-下载命令,如果命令无效,yum -y install lrzsz安装一个(安装见下篇)。
登录成功后,根据 PS1变量设置结果显示终端
PS1 = [当前用户名@主机名称 工作目录名称]提示符
如果是root时,提示符为:# ,普通用户则为:$
举个栗子: [root@test bin]# [root@test ~]$ ~代表用户家目录
命令id(信息更详细)或者 whoami查看当前用户
注销的两种方式
exit(图形化界面只关闭终端窗口)退出控制台,对于多层shell,用于逐层退出,到最顶层shell,作用就和logout相同。
logout(仅文本终端)注销用户
如果没有切换过用户的话,这两个命令都是退出控制台了。 如果切换过用户的话,这两个命令都是注销当前用户,返回上一个用户。
关机的四种方式(只放了几个比较常用的参数)
关机前最好执行几遍sync;(将内存数据同步写入硬盘中)
1)poweroff
2)halt
3)init 0
4)shutdow -h now
重启的四种方式
1)poweroff -f
2)reboot
3)init 6
4)shutdow -r now
切换用户:
su - 用户名 或者 su 用户名
这两者的区别是加"-"会重新加载用户的用户变量
普通用户下输入sudo命令可以获得超级用户权限
添加删除用户、组(只写了懒人用法,单词意思挺明显的,就不解释了)
useradd 用户名
passwd 用户名
usermod -l 新用户名 旧用户名 可以使用useradd的参数修改用户相关资料
userdel -r 用户名 删除用户及其家目录(-r)
groupadd 组名
groupdel 组名
命令 --help 这个很实用,有啥不会的命令都可以通过这个方法来查用法,这篇博文主要写些命令的常用参数,需要更详细的用法可以求助help
图形化界面和文本界面
修改/etc/inittab文件中initdefault参数可以修改开机默认启动图形化界面还是文本界面,3为默认进入文本界面,5为默认进入图形化界面。
文本界面下输入init5或者startx切换图形化界面,图形化界面下输入init3切换文本界面,一般默认进入文本界面。
设置开机自启可以在/etc/rc.d/rc.local添加命令。
环境变量
Linux的环境变量作用跟win是一样的
env命令可以查看环境变量值
修改全局环境变量在/etc/profile这个文件最后加上export PATH=$PATH:路径1:路径2,各个路径之间用:隔开(win是;),中间再长也不要换行,觉得太长可以把路径的一部分用变量替代,变量的设置方法一样,修改完后source /etc/profile让修改生效。绝对不要忘了$PATH,很多人修改完环境变量后原来的系统命令都不能用了就是因为这个。
如果不想配置环境变量,也可以把程序的快捷方式放到系统的环境变量目录,比如/bin/、/sbin/等
ln -s 要建立链接文件的绝对路径 要放快捷方式的目录 (这是一个建立软链接的方式)
用户自己环境变量在~/.bash_profile 配置
网络配置
查看当前网络状态:ifconfig 或 ip a
dhclient 自动获取ip
虚拟机如果不想变ip可以采用NAT模式或仅主机模式(主机模式可能上不了外网)
重启、开启、停止、查看网络状态:service network <restart|start|stop|status>(service相关下一篇有写)
lsof -i :80 查看使用80端口的进程,如果只是用了端口但没启动程序员查不出来
netstat -nlpt|grep <80|pid> (pid从ps -ef获得) 相比上一个命令更准确
文本编辑器vi(放命令在这不时回想下都是啥作用)
命令模式
. u 0 $ /keywords ?keywords n N
shift+g nyy yw 1,3y p 1,3d x ndd s :%d :1,10 g/str/d
:set nu :set nonu :%s/old/new/g :wq :q! :e!
i o a
编辑模式 esc
给命令起别名
alias 命令别名='命令'
希望对用户永久生效就把上述命令加到~/.bashrc或~/.bash_profile文件里面,希望对所有用户都生效就加到系统整理设定文件/etc/profile里面
文件相关命令
ls -al 最基础的查文件命令,不说了
pwd 查看当前目录完整路径
cd 目录 跳转命令: - 上次目录;. 当前目录;.. 上级目录;~ 家目录;缺省为回到家目录
cp 来源文件 目标目录 复制命令:常用参数 -r递归复制 -f强制覆盖 -a全部复制 scp 本地要传的文件路径 用户@ip:linux服务器放文件的路径
向linux远程传文件 e.g. scp filename root@192.168.1.114:~ touch filename 创建文件,如果创建一个已经存在的文件,则更新文件时间
mkdir document 创建文件夹,-p 创建多级目录 rmdir document 创建空文件夹 没啥用 rm -rf 目录名或文件名 删除目录或文件 慎用-f
mv 文件名 目录名或文件名 移动文件,也可以用做改名
cat more less tail head 查看文件的命令,好多啊有空再展开吧 tail -f 动态查看末十行的 du -sh 目录或文件名 查看文件或目录的磁盘使用空间
df -lh 目录或文件名 列出所在文件系统的整体磁盘使用量;可能这两个命令不是很好理解,看下图就知道啦
文件及目录权限等
在文件夹下输入命令ll(ls -l的别名),会出现类似下面的结果:
-rw-r--r-- 1 root root 5661 Sep 12 18:25 install.log
各部分的含义如下:
- rw-r--r-- 1 root root 5661 Sep 12 18:25 install.log
[类型][权限] [连结数][拥有者][群组][文件大小][修改时间] [文件或目录名]
文件类型有:d - l b c,常用的是d目录 -文件
权限的9位数每三位分别代表拥有者、群组、其他人的权限,r是read可读,w是write可写,x是execute可执行。
目录与文件的权限意义不一定,特别要注意的是,目录的x权限代表的是能否进入目录成为工作目录,目录的w权限有移动、删除、改名内部文件的权限,就算没有文件的x权限。
更改权限chmod,两种方式:
chmod 777 文件或目录 (r=4,w=2,x=1,7=4+2+1,这个意思是所有用户都有rwx权限,改权限改数字就可以)
chmod 用户代号+权限,用户代号-权限,用户代号=权限 文件或目录(用户代号:拥有者o,群组g,其他成员o,所有用户a)
更改群组chgrg
chgrp 新群组 文件或目录 root用户才有此权限
更改拥有者chown,chown可以顺便更改群组
chown 新用户:新组 老用户 filename root用户才有此权限
chmod、chgrp、chown都可以加参数 -R ,对目录下所有问价递归修改
快吐了,先放这回头再整理吧。。。。
clear 清屏
history 查看历史命令
wc grep sort uniq cut awk xargs查询文件内容
find 查找目录范围 -name 文件名
whereis locate which
ps -ef显示所有进程
列表依次为:用户,pid,副进程id,启动时间,启动命令
kill -9(强制) pid1 pid2 pid3... kilall
打包 gzip gunzip zip unzip tar
不能后台运行的程序加上&就可以后台了 nohup &
crontab定时任务
crontab -e 分 小时 天 月 星期几(0~6,0为星期天)
crontab -l
重定向用于复制文件
cat 文件 > 新文件名 也可以用>>追加(不删除文件原有内容) 空>文件名---清空文件
格式化获取时间
date +'%Y%m%d-%H%M%S'
查看系统CPU等各项性能指标情况
ps -aux 或 top top是动态的 ps是静态的