1. 关机命令
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25关机
shutdown -h +10 系统再过10分钟后自动关机
shutdown -r now 系统立刻重新启动
reboot 现在重新启动
start 进入桌面
2. vi编辑器
vi Hello.java
输入i,进入插入模式
输入Esc键,进入命令模式
输入冒号:wq表示保存并退出,q!表示不保存但退出
修改某个文件,也可以用 sudo gedit /etc/passwd
3. 创建用户和组
addgroup mygroup 创建组
useradd myuser -g myuser -m 创建用户,并添加到组
修改/etc/passwd,将/bin/sh改为/bin/bash
vi /etc/group 查看所有组的信息
cat /etc/group 查看所有组的信息(不可修改)
cat /etc/passwd 查看所有用户信息
usermod -g policeman along 修改用户组,将用户along放在policeman组中
usermod -g root huhui 将huhui用户修改成具有root权限,即加入root组
useradd -g group user 创建user,并加入group中
4. 文件操作
pwd 查看当前文件夹路径
cd / 切换到根目录
cd 进入用户自己的目录
ls -la 显示全部文件
ls -l 显示文件详细信息
ls -a 显示隐藏文件
ls /etc/ | more 管道命令,分页显示
mkdir dir 建立目录dir
rmdir dir 删除空目录dir
rm -rf dir 删除目录(目录非空),r表示递归,f表示强制
grep -n "123" aaa.java 在aaa.java文件中寻找字符123,-n表示显示行数
grep -n "123" /root/* *号表示在root文件夹下所有的文件
grep required *.sh|wc 在所有.sh文件中统计单词required的个数
cp -r dir1 dir2 递归复制命令(包含子目录),从dir1复制到dir2
mv 移动文件或者改文件名(重命名)
ln -s 源文件 目标文件 建立符号链接,类似于建立快捷方式
whereis abc 寻找abc文件或目录
find / -name man 从根目录开始搜索名为man的文件或目录
ls -l > a.txt 将列表的内容写入文件a.txt中(覆盖写)
ls -l >> a.txt 追加写
env 查看环境变量
env $PATH 只查看PATH的环境变量
5. 文件及文件夹权限
-rwx-rw-r-- 1 root root 1213 Feb 2 09:39 abc
第一个字符代表文件(-),目录(d),链接(l)
其余字符每3个一组(rwx),读(r),写(r),可执行(x)
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw:与文件拥有者同一组的用户的权限是读、写,但不能执行
第三组r:其它组用户的权限是读,不能写也不能执行
可用数字表示:r=4,w=2,x=1,因此rwx=4+2+1=7
1表示连接的文件数
root 用户
root 组
1213 文件大小(字节)
Feb 2 09:39 最后修改时间
abc 文件名
chmod 755 abc 对文件abc修改权限rwx-rx-rx。只有root和文件所有者能对文件进行修改,修改了文件夹的访问权限,文件夹内的其它文件的访问权限并不会被修改
chmod u=rwx,g=rx,o=rx 同上,u=用户权限,g=组权限,o=不同组其他用户权限
chmod u-x,g+w abc 给abc去除用户执行的权限,增加组写的权限
chmod a+r abc 给所有用户添加读的权限
6. 用户和用户组
chown xiaoming abc 改变abc的拥有者为xiaoming
chown root ./abc 改变abc这个目录的所有者为root
chown -r root ./abc 同上,abc及abc目录下所有文件和目录的所有者均改变为root
chgrp root abc 改变abc所属组为root
7.JDK安装
mount /mnt/cdrom 挂载光驱
umount /mnt/cdrom 卸载光驱
vi /etc/profile 配置环境变量
export JAVA_HOME PATH CLASSPATH 使配置生效
./eclipse & 后台运行,释放控制台
8. 分区
硬盘分区主要分为基本分区和扩展分区两种。针对一个硬盘来说,基本分区和扩展分区的数据之和不能大于4个,且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用。扩展分区再分先去就是逻辑分区,逻辑分区没有数量上的限制。
对于Linux来说,无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录、一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分。因为它采用一种叫“载入”的处理方式,它的整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来。这时要载入的那个分区将使它的存储空间在这个目录下获得。
假设/boot目录被sda1分区挂载:
umount /boot/ 此时进入boot中,用ls命令,文件将无法显示
mount /dev/sda1 /test/ 将sda1挂载到test文件,此时,boot中的文件将在test中显示
fdisk -l 查看分区
df 查看硬盘空间使用情况
df -h 同时,但是更详细
df /home 查看home目录被谁挂载
df /etc/ 查看etc目录属于哪个分区
dev代表设备
sda1、sda2、sda3 分区名,1,2,3……表示分区号
sdb1 代表硬盘,sd表示SCSI硬盘
9. shell相关
ls /bin/*sh 查看系统由集中shell
env 查看目前使用的是哪种shell
chsh -s /bin/csh 修改shell为csh
命令完成功能:用tab键能自动完成相关命令,再次按tab可得到清单
Ctrl + c 中断当前命令
history 5 显示最近使用的5条命令
history !5 执行历史编号为5的命令
history !ls 执行最后一次以“ls”开头的命令
10. 网络环境配置
第一种方法:
ifconfig eth0 x.x.x.x 设置ip地址,立即生效,但如果重启电脑,ip或恢复
ifconfig eth0 network x.x.x.x 对子网掩码设置
第二种方法:
修改/etc/sysconfig/network-scripts/ifcfg-eth0
这个文件里各个属性都可以修改,包括IP、子网掩码、广播地址、网关等,下面是一个例子
DEVICE=eth0
BOOTPROTO=none //静态设置时none,动态是dhcp
ONBOOT=yes
HWADDR=00:0c:29:77:dd:a7
IPADDR=172.31.33.198
NETMASK=255.255.255.0
GATEWAY=172.31.33.2
Type=Ethernet
这时网卡的配置没有立即生效,运行/etc/rc.d/init.d/network restart命令,设置才生效
这种方法是最底层的修改
在linux中,所有的设备都是文件
traceroute www.sina.com 查看访问www.sina.com所经过的路由器
netstat -anp 查看端口占用情况
11. rpm相关命令
rpm -ivh aa.rmp 安装到当前系统
rpm -q mysql 查看是否安装了mysql
rpm -e jdk 卸载rpm。如果所要删除的rpm包依赖于其它软件,则使用rpm -e --nodeps jdk
12. crontab相关命令
①设置任务
crontab -e
希望每天凌晨2:00去执行data >> /home/mydate,可以在crontab -e中加入0 2 * * * date >> /home/mydate
希望每分钟去执行:在crontab -e中加入* * * * * date >> /home/mydate
五个*分别表示分钟、小时、日、月、星期,星号*表示“每一”
②终止任务调度
crontab -r
crontab -l 列出当前有哪些任务调度
③调度多个任务
--在crontab -e中直接写多个命令(不推荐)
--把所有任务,写入到一个可执行文件(shell编程)
13. 进程相关命令
ps -aux 查看进程,信息最全,静态
top 动态查看进程
top -d 10 指定系统更新进程的时间为10秒
kill 16251 终止进程号为16251的进程
kill -9 16251 如果不能结束进程可以用-9传送信息
--监视特定用户
top:输入此命令,按回车键,查看执行的进程
u: 然后输入“u”回车,再输入用户名,即可
--终止特定的用户
top:输入此命令,按回车键,查看执行的进程
k: 然后输入“k”回车,再输入要结束的进程ID号
14. MySQL相关
--启动MySQL
bin/mysqld_safe --user=mysql & 以mysql用户启动,&表示后台方式运行
--进入mysql
进入mysql的bin目录下cd bin
./myslq -u root -p123 表示以root登陆。-p后面不用加空格
如果希望mysql用户在任何目录下都可以进入mysql,则需要在用户变量/mysql/.bash_profile中添加路径":/home/mysql/bin"
.bashrc 配置用户登录时,某程序自动启动的目录
如果希望所有用户在任何目录下都能进入mysql,则需要配置/etc/profile系统环境变量
开发程序时,mysql驱动要放在jdk的主目录下的/jre/lib/ext/目录下
--备份与恢复
备份:./mysqldump -u root -p123 testdb > data.bak 需要在mysql的bin目录下执行
恢复:./mysql -u root -p123 testdb < data.bak 在恢复时,要先建立数据库testdb
15. 压缩和解压缩
--压缩
zip aa.zip file1 压缩单个文件,如果有多个文件,则zip aa.zip file1,file2
zip -r aa.zip folder 压缩文件夹
zip -m aa.zip 压缩文件之后,将原文件删除
--解压
unzip file.zip
tar -zxvf file.tar.gz
--查看压缩包内的内容
unzip -l file.zip -l可以替换成-z或-v
16. 其它
echo "this is a test" >> test.txt 在文件末尾追加写