1、linux是免费的,可以作为服务器,桌面
2、在实现同样的功能时,linux所消耗的系统资源比Windows更少,同时也更为稳定
3、linux非常健壮和灵活,非常适合大型企业生产环境
4、etc目录存放着系统以及大部分应用软件的配置文件
Linux命令
1、自动补全命令:ls ca 然后按下TAB键,会自动补全ca开头的目录,如果有多个,可以按下两次TAB键,列出所有。
2、通配符:ls *.cpp(匹配cpp结尾的文件)、ls test?(匹配test开头以一个字符结尾的文件)、ls test[1A](匹配test1或testA)
3、显示当前目录pwd
4、改变目录cd
5、cd / 进入根目录、cd ~ 进入用户主目录
6、列出目录内容:ls(列出当前目录下所有文件和子目录)
ls -a列出所有文件(包含隐藏文件)
ls -l 用来查看文件的各种属性(执行权限、大小、日期、文件所有者的用户名、该用户所在的用户组组名等)
7、查看文本文件cat、more和less
cat 文件名 -n (加上-n参数可以显示行号)cat命令会一次将所有内容显示在屏幕上
more 一页一页的显示内容,enter翻页,q退出
less更好的阅读工具,功能比more更加强大
8、阅读文件的开头和结尾 head tail 加上-n参数可以显示行号
9、查找文件内容grep
grep un day在day文件中查找un的一行,可以在多个文件中查找,如果要查找hello world需要加上引号
10、在指定范围内查找文件 find
find /usr/bin -name zip -print (-name指定查找的文件名,-print将结果打印到屏幕上),find命令会打印文件的绝对路径
11、更加快速的定位文件 locate
locate *.doc
12、从终端运行程序 直接输入即可。例如:输入firefox按下enter键运行浏览器,如果加上&将在后台运行
13、查找特定程序 whereis
whereis find
whereis -b find 查找这个程序的二进制可执行文件
14、用户及版本信息查看who
同一时间可能有多个用户登录系统,who可以查看当前系统中有哪些人登录,以及他们工作在那个控制台上
uname -a显示当前系统的所有信息
whoami(忘记自己是什么身份登录的)
15、寻求帮助 man命令
16、whatis获取一个命令大概可以做什么,而不是长篇大论的介绍
whatis uname
17、建立目录和文件 mkdir
mkdir m/name 如果m目录不存在,将无法创建name目录
mkdir -p m/name 这个时候会先创建m目录,再创建name目录
18、建立一个空文件 touch
19、移动文件 mv
mv hello bin/ 将hello文件或目录移动到bin目录下,如果目录已存在,则覆盖
这时候可以用-i来移动 mv -i hello bin/,会提示用户是否进行覆盖
mv -b hello bin/将在目标目录的同名文件的文件名后加一个~
20、复制文件 cp
cp hello.php test cp命令默认情况下也会覆盖目标文件
cp -i hekk.txt test
cp -r test tet将test目录及其子目录一起复制到tet目录下
21、删除目录和文件 rmdir和rm
rmdir只能删除空目录
rm -i test/pho会在删除文件的时候提示用户
rm -r test递归的删除目录下的所有文件和子目录
22、改变文件属主和属组chown和chgrp
将days文件的属主和属组改为tom和root ---> chown tom:root days
改变属主为tom -->chown tom days
改变属组为root -->chown :root days
-r 改变一个目录及其下所有文件及其子目录的权限 chown -r tom days/
将days的属组设为root -->chgrp root days
chgrp -r root days 将days目录及其下所有文件和子目录的权限赋给root组
23、改变文件权限 chmod (属主:u,属组:g,其他人:o,所有人:a)
chmod u+x days增加属主对days文件的执行权限
chmod a-x days同时删除所有人对days的执行权限
chmod ug=rw,o=r days赋予属主和属组读写权限,其他人读权限
chmod o=u days将属主的权限赋给其他人
24、建立符号链接(符号链接又称为软链接)
ln -s days my_days -->建立一个名为my_days的符号链接,指向days文件,
删除my_days并不影响days文件
ln -s /use/bin/test share 可以为一个目录建立一个符号链接
25、硬链接就是讲两个独立的文件联系在一起
ln days hard_days days和hard_days是两个完全独立的文件,这两个文件拥有相同 的内容
修改其中一个文件,另一个文件也会被修改,在实际中,硬链接使用的很少
26、输出重定向
ls > ~/ls_out 这样ls输出的结果不会打印到屏幕上,而是出现在用户主目录的ls_out文件中
如果文件不存在,它会自动建立这个文件,如果文件已存在,它会覆盖原有的内容,这时候
可以使用 >> ,会在原来的基础上进行追加文件内容
27、输入重定向并不常用
28、管道
使用 | 可以将一条命令的输出连接到另一条命令的输入
ls | grep ay 在ls列出的文件中查找包含ay字符的文件
29、压缩命令 gzip
gzip indec.tar 压缩后 indec.tar就变成了indec.tar.gz
30、解压缩 gunzip或gzip -d
gunzip indec.tar.gz 或 gzip -d indec.tar.gz
31、更高的压缩率 bzip2 它是以压缩速度为代价的
32、添加用户 useradd
useradd -m tom 添加用户,加上-m参数可以为用户自动建立用户主目录
passwd tom 设置密码
-g参数指定用户的所属的组
useradd -m -g users tom tom的组为users
33、添加组groupadd
groupadd newgroup
34、记录用户操作 history
history 10 列出最近的10条命令
35、删除用户 userdel
userdel tom 默认不会删除用户的主目录,除非使用了-r参数
userdel -r tom
36、管理用户账号 usermod
usermod -l toms tom 将tom重命令为toms
-d 更改用户主目录
-l 重命名
-e 设置账号有效期
-g 更改用户组
37、查看用户信息 id
id tom 查看tom的uid,gid和及其所属的组
id使用不带参数,显示当前登录用户的信息
38、用户间切换 su,su tom 切换到tom用户,不带参数的命令将切换到root账户
39、sudo以root的身份运行命令
40、查看进程 ps
ps aux查看所有进程
ps lax查看所有进程,包括父进程的id号ppid
41、查看占用文件的进程 lsof
lsof a.doc查看a.doc被哪个进程使用
42、杀死某个进程kill
kill 12323 杀死进程号为12323的进程
43、调整进程的谦让度nice和renice,谦让度越高越后执行,谦让度越高优先级越低
nice -n 2 bc增加bc的谦让度2
使用不带-n参数,会让谦让度加10
renice在进程运行时调整谦让度
44、即时跟踪进程信息 top、使用命令q去退出这个监听程序
部署服务器命令
1、sz 服务器下载到本地
2、rz 本地上传到服务器
3、scp jdk7.zip alm@172.19.1.207:/home/alm 将jdk7.zip传到172.19.1.207中的/home/alm目录 alm是用户名
4.ps -ef |grep redis 查看redis的进程
5、curl http://127.0.0.1:8080/alm/login curl访问一个地址
6、service mysqld start/stop 启动停止mysql服务
7、redis-server ./redis.conf 以指定配置文件启动redis服务,用kill关闭redis服务
8、redis-cli 客户端检测连接是否正常
9、usermod -l NewUser -d /home/NewUser -m OldUser
usermod -l alao -d /home/alao -m tom
-l 修改用户名
-d 修改登录后使用的路径
-m 修改登录名称的同时将目录名称一同修改
10、linux上mysql导入数据乱码问题解决:mysql -uroot -p --default-character-set=utf8 dbname < bak.sql
不要用source命令