�ѫe�@���`�y
Linux ���ɮ��v���P�ؿ��t�m�z�������A�Ѩ�
Linux ���y�𪬥ؿ��z��������A���U�ӴN�o�n��ڪ��ӷd�w�@�ǰ����|���D�F�I�o�ǥؿ������D�����A
�̭��n�����L��y������|�z�P�y�۹���|�z���N�q�աI������A�Ѥ@�U�I
�۹���|�P������|�G
�b�}�l�ؿ����������e�A�A�����n���A�Ѥ@�U�ҿת��y
���| (PATH)�z�A
���쪺�O�G����O�y
�۹���|�z�P�y
������|�z�H
���M�e�@���w�g�y�L�w��o��ij�D���L�@���A���L�A�o�̤�����Ъ��A�����j�դ@�U�I
�p�G�A�ٰO�o�e�@�������e���ܡA���������ٰO�o Linux �̭����ؿ��O�e�{�y
�𪬥ؿ��z
�����p�A�N�O�����䪺�աI�n�F�A���]�A�ݭn�b���N�@�ӥؿ��U�ܴ���ڥؿ���
etc ���U�A����A�N���ӭn�ϥΡy
cd /etc �z�o�ӱ��p�A
�o�]�N�O�ҿת��y
������|�z�A�L�O�q�ڥؿ��s��g�W�Ӫ��@�ӱ��p�A
�ҥH���קA�b���@�Ӹ��|�{����o�@�ӫ��O�A���|�N�A���ʨ�Ӹ��|�U�C���p�G�ڬO�ϥ�
�y
cd etc �z�O�H�����ܧA�n������y
�ثe�o�ӥؿ��U��
etc �ؿ����z�A���p�i�O���@�˪���I�q�`�Ĥ@����IJ Linux ���ϥΪ̱`�|�d���o�@�Ӹ��|���[���I
- ������|�G���|���g�k�y�@�w�Ѯڥؿ�
/ �g�_�z�A�Ҧp�G /usr/share/doc �o�ӥؿ��C
- �۹���|�G���|���g�k�y���O��
/ �g�_�z�A�Ҧp�� /usr/share/doc �n�� /usr/share/man ���U�ɡA�i�H�g���G
�ycd ../man�z�o�N�O�۹���|���g�k�աI�۹���|�N���y�۹��ثe�u�@�ؿ������|�I�z
����۹���|�P������|������F���_�r�I�H�ܡI���i�u���O�F���_�F�I���]�z�g�F�@�ӮM��A
�o�ӮM��@�ݭn�T�ӥؿ��A���O�O etc, bin, man �o�T�ӥؿ��A�M�ӥѩP���H���w�w�˦b���P���ؿ����U�A
���]�Ҧw�˪��ؿ��O /usr/local/packages/etc, /usr/local/packages/bin �� /usr/local/packages/man
�A���L�A�o���w�w�˦b /home/packages/etc, /home/packages/bin, /home/packages/man
�o�T�ӥؿ����A�аݦp�G�ݭn�Ψ쵴����|���ܡA����O�_�ܳ·ЩO�H�O���I
�p���@�ӨC�ӥؿ��U���F��N�����������_�ӡI�o�ӮɭԬ۹���|���g�k�N�㪺�S�O�����n�F�I
���~�A�p�G�z���@�ˡA���w�N���|���W�r�g���ܪ��A�n���ۤv���D���ӥؿ��O�b�F���A�Ҧp�G
/data4/staiwan19961109/models-3/smoke �o�ӥؿ��A�ӥt�@�ӥؿ��b
/data4/staiwan19961109/models-3/cctm �A����ڱq�Ĥ@�ӭn��ĤG�ӥؿ��h���ܡA���g�����K�H
���M�O�y cd ../cctm �z�����K�o�I��a�I
���O����ɮת����T�ʨӻ��A�y
������|�����T�n����n���z�C
�@��ӻ��A�����|��ij�z�A�p�G�O�b�g�{�� (shell scripts) ������U�A�ȥ��ϥε�����|���g�k�C
��O�H�]��������|���g�k���M����·СA���O�i�H�֩w�o�Ӽg�k���藍�|�����D�C
�p�G�ϥά۹���|�b�{�������A�h�i��ѩ�z���檺�u�@���Ҥ��P�A�ɭP�@�ǰ��D���o�͡C
�o�Ӱ��D�b�Ҧ�ʩR�O�����ר䭫�n�I�o�Ӳ{�H�ڭ̦b shell script �ɡA�|�A���������z��I ^_^
�ؿ��������ާ@�G
�b���e�ڭ̵y�L����o���ܴ��ؿ������O�O cd �A�٦����ǥi�H�i��ؿ��ާ@�����O�O�H
�Ҧp�إߥؿ��ڡB�R���ؿ����������٦��A�o�n�����D���A�N�O�����Ǥ���S�����ؿ��O�H
�|�Ҩӻ��A���U�o�ǴN�O����S�����ؿ��A�o�n�ΤO���O�U�Ӥ~��G
. �N�����h�ؿ�
.. �N���W�@�h�ؿ�
- �N���e�@�Ӥu�@�ؿ�
~ �N���y�ثe�ϥΪ̨����z�Ҧb���a�ؿ�
~account �N�� account �o�ӨϥΪ̪��a�ؿ�
|
��
�b�ؿ����U����ӥؿ��O�@�w�|�s�b���I���N�O . �P .. �o��
���O�N�����h�P�W�h�ؿ����N��C���ڭ̦b�e�@��
Linux �ɮ��ݩʻP�ؿ��t�m
�̭��]���D�ڥؿ� (/) �O�Ҧ��ؿ����̳��h�A���� / �� .. �ܡH�I�z�i�H�ϥ� ls -al / �h�ݬݡA
���O�y�����I�z���L�A�z�]�i�H�d�\��A�ڥؿ��� . �P .. �ݩʧ����@�Ҥ@�ˡA�����I
��Ӯڥؿ������h (..) �P�L�ۤv (.) �O�P�@�ӥؿ����I ^_^
���U�ڭ̴N�ӽͤ@�ʹX�ӱ`�����B�z�ؿ������O�a�G
- cd�G�ܴ��ؿ�
- pwd�G��ܥثe���ؿ�
- mkdir�G�إߤ@�ӷs���ؿ�
- rmdir�G�R���@�ӪŪ��ؿ�
cd (�ܴ��ؿ�)
�ڭ̪��D dmtsai �o�ӨϥΪ̪��a�ؿ��O /home/dmtsai �A�� root �a�ؿ��h�O /root �A���]�ڥH root �����b
Linux �t�Τ��A����²�檺�����@�U�o�X�ӯS�����ؿ����N�q�O�G
[root@linux ~]# cd [�۹���|�ε�����|]
# �̭��n���N�O�ؿ���������|�P�۹���|�A�٦��@�ǯS���ؿ����Ÿ��o�I
[root@linux ~]# cd ~dmtsai
# �N���h�� dmtsai �o�ӨϥΪ̪��a�ؿ��A��Y /home/dmtsai
[root@linux dmtsai]# cd ~
# ���ܦ^��ۤv���a�ؿ��A��Y�O /root �o�ӥؿ�
[root@linux ~]# cd
# �S���[�W������|�A�]�٬O�N���^��ۤv�a�ؿ����N���I
[root@linux ~]# cd ..
# ���ܥh��ثe���W�h�ؿ��A��Y�O /root ���W�h�ؿ����N��F
[root@linux /]# cd -
# ���ܦ^���誺���ӥؿ��A�]�N�O /root �o��
[root@linux ~]# cd /var/spool/mail
# �o�ӴN�O������|���g�k�I�������w�n�h��������|�W�١I
[root@linux mail]# cd ../mqueue
# �o�ӬO�۹���|���g�k�A�ڭ̥� /var/spool/mail �h�� /var/spool/mqueue �N�o�˼g�I
|
cd �O Change Directory ���Y�g�A�o�O�Ψ��ܴ��u�@�ؿ������O�C�`�N�A�ؿ��W�ٻP cd ���O�����s�b�@�ӪŮ�C
�@�n�J Linux �t�Ϋ�Aroot �|�b root ���a�ؿ��A��Y /root �U�AOK�I���^��W�@�h�ؿ��i�H�Ρy cd .. �z�C
�Q�ά۹���|���g�k�����n�T�{�z�ثe�����|�~�ॿ�T���h��Q�n�h���ؿ��C�Ҧp�W�������̫�@�ӨҤl�A
�z�����n�T�{�z�O�b /var/spool/mail �����A�åB���D�b /var/spool �������� mqueue ���ؿ��~��ڡ�
�o�ˤ~��ϥ� cd ../mqueue �h�쥿�T���ؿ����A�_�h�N�n������J cd /var/spool/mqueue �o��
���A�ڭ̪����ܦr���A��Y���� [root@linux ~]# �����A�N�w�g�����X�ثe���ؿ��F�A
��n�J�ɷ|��ۤv���a�ؿ��A�Ӯa�ؿ��٦��@�ӥN�X�A���N�O�y ~ �z�Ÿ��I
�Ҧp�W�����Ҥl�i�H�o�{�A�ϥΡy cd ~ �z�i�H�^��ӤH���a�ؿ����Y�h�O�I
�t�~�A�w�� cd ���ϥΤ�k�A�p�G�ȿ�J cd �ɡA�N�����N�O�y cd ~ �z���N����
��Y�O�|�^��ۤv���a�ؿ��աI�Ө��ӡy cd - �z������H�z�ѡA�Цۦ�h���X���m�ߡA
�N�|������դF�C
�٬O�n�@�A�a�����A�ڭ̪� Linux ���w�]���O�C�Ҧ� (bash shell) �㦳�ɮɻ��\��A
�z�n�`�`�Q�� [tab] ����ӹF���z���ؿ�����ʰڡI�o�i�O�Ӧn�ߺD�ڡ�
�i�H�קK�z������L��J���r���� ^_^
pwd (��ܥثe�Ҧb���ؿ�)
[root@linux ~]# pwd [-P]
�ѼơG
-P �G��ܥX�T�ꪺ���|�A�ӫD�ϥγs�� (link) ���|�C
�d�ҡG
[root@linux ~]# pwd
/root <== ��ܥX�ؿ��ա�
[root@linux ~]# cd /var/mail
[root@linux mail]# pwd
/var/mail
[root@linux mail]# pwd -P
/var/spool/mail <== ���^�ơH���S���[ -P �t�ܦh��
[root@linux mail]# ls -l /var/mail
lrwxrwxrwx 1 root root 10 Jun 25 08:25 /var/mail -> spool/mail
# �ݨ�o�����Ӫ��D��ԣ�F�a�H�]�� /var/mail �O�s���ɡA�s���� /var/spool/mail
# �ҥH�A�[�W pwd -P ���Ѽƫ�A�|���H�s���ɪ������ܡA�ӬO��ܥ��T��������|�ڡI
|
pwd �O Print Working Directory ���Y�g�A�]�N�O��ܥثe�Ҧb�ؿ������O�A
�Ҧp�b�W�Ӫ���̫᪺�ؿ��O /var/mail �o�ӥؿ��A���O���ܦr������� mail�A
�p�G�A�Q�n���D�ثe�Ҧb���ؿ��A�i�H��J pwd �Y�i�C���~�A�ѩ�ܦh���M��ҨϥΪ��ؿ��W�ٳ��ۦP�A�Ҧp
/usr/local/etc �٦� /etc �A���O�q�` Linux �ȦC�X�̫᭱���@�ӥؿ��Ӥw�A�o�ӮɭԧA�N�i�H�ϥ� pwd
�Ӫ��D�A���Ҧb�ؿ��o�I�K�o�d���ؿ��A���G�K�K
��꦳�쪺�O���� -P ���ѼưաI�L�i�H���ڭ̨��o���T���ؿ��W�١A�Ӥ��O�H�s���ɪ����|����ܪ��C
�p�G�z�O Fedora Core 4 ���ܡA���n�A /var/mail �O /var/spool/mail ���s���ɡA
�ҥH�A�z�L�� /var/mail �U�F pwd -P �N������D�o�ӰѼƪ��N�q�o�� ^_^
mkdir (�إ߷s�ؿ�)
[root@linux ~]# mkdir [-mp] �ؿ��W��
�ѼơG
-m �G�]�w�ɮת��v����I�����]�w�A���ݭn�ݹw�]�v�� (umask) ���y���
-p �G���U�A�����N�һݭn���ؿ����j�إ߰_�ӡI
�d�ҡG
[root@linux ~]# cd /tmp
[root@linux tmp]# mkdir test <== �إߤ@�W�� test ���s�ؿ�
[root@linux tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4':
No such file or directory <== �S��k�����إߦ��ؿ��ڡI
[root@linux tmp]# mkdir -p test1/test2/test3/test4
# �[�F�o�� -p ���ѼơA�i�H�ۦ����z�إߦh�h�ؿ��I
[root@linux tmp]# mkdir -m 711 test2
[root@linux tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
# �J�ӬݤW�����v�������A�p�G�S���[�W -m �ӱj��]�w�ݩʡA�t�η|�ϥιw�]�ݩʡC
# ����z���w�]�ݩʬ���H�o�n�z�L���U���Ъ� umask �~���A�ѳ�I ^_^
|
�p�G�Q�n�إ߷s���ؿ����ܡA����N�ϥ� mkdir (make directory) �a�I ���L�A�Ъ`�N��I�b�w�]�����p�U�A
�A�һݭn���ؿ��o�@�h�@�h���إߤ~���I�Ҧp�G���p�A�n�إߤ@�ӥؿ���
/home/bird/testing/test1�A���������n�� /home �M�� /home/bird �A�A�� /home/bird/testing
�������n�s�b�A�~�i�H�إ� /home/bird/testing/test1 �o�ӥؿ��I���p�S�� /home/bird/testing
�ɡA�N�S����k�إ� test1 ���ؿ��o�I���L�A�{�b���ӧ�²�榳�Ī���k�աI���N�O�[�W -p
�o�ӰѼƳ�I�A�i�H�����U�F�G�y
mkdir -p /home/bird/testing/test1 �z
�h�t�η|�۰ʪ����A�N /home, /home/bird, /home/bird/testing �̧Ǫ��إ߰_�ؿ��I�åB�A
�p�G�ӥؿ����ӴN�w�g�s�b�ɡA�t�Τ]���|��ܿ��~�T�����I���ּ֪��a�I ^_^
�t�~�A���Ӧa��z�����n���������A���N�O�y�w�]�v���z���a��C�ڭ̥i�H�Q�� -m �ӱj����@�ӷs���ؿ��������ݩʡA
�Ҧp�W�������A�ڭ̵��� -m 711 �ӵ����s���ؿ� drwx--x--x ���ݩʡC���L�A�p�G�S������ -m �ݩʮɡA
����w�]���s�إؿ��ݩʤS�O����O�H�o�Ӹ�
umask �����A�ڭ̦b���Y�|�[�H���Ъ��C
rmdir (�R���y�šz���ؿ�)
[root@linux ~]# rmdir [-p] �ؿ��W��
�ѼơG
-p �G�s�P�W�h�y�Ū��z�ؿ��]�@�_�R��
�d�ҡG
[root@linux tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
[root@linux tmp]# rmdir test
[root@linux tmp]# rmdir test1
rmdir: `test1': Directory not empty
[root@linux tmp]# rmdir -p test1/test2/test3/test4
[root@linux tmp]# ls -l
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
# �@�I�Q�� -p �o�ӰѼơA�ߨ�N�i�H�N test1/test2/test3/test4 �@���R����
# ���L�n�`�N���O�A�o�� rmdir �ȯ�y�R���Ū��ؿ��z��I
|
�p�G�Q�n�إߧR���¦����ؿ��ɡA�N�ϥ� rmdir �a�I�Ҧp�N���إߪ� test �����A�ϥ�
rmdir test �Y�i�I�Ъ`�N��I�ؿ��ݭn�@�h�@�h���R���~��I�ӥB
�Q�R�����ؿ��̭����w�����٦���L���ؿ����ɮסI
�o�]�O�ҿת��Ū��ؿ� (empty directory) ���N��ڡI���p�G�n�N�Ҧ��ؿ��U���F�賣�����O�H�I
�o�ӮɭԴN�����ϥ� rm -rf test �o�I���L�A�٬O�ϥ� rmdir ������M�I�I���L�A�A�]�i�H���եH -p
���Ѽƥ[�J�A�ӧR���W�h���ؿ���I
��������ɸ��|���ܼơG $PATH
�b���L�F������|�B�۹���|�P���O���U�F�覡����A�z���ӷ|�y�L�`�N��@��Ʊ��A���N�O�G�y
������ڥi�H�b����a����� /bin/ls �o�ӫ��O�O�H �z��r�I
������ڥi�H�������� ls �N�@�w�i�H��ܥX�@�ǰT���Ӥ��|���䤣��� /bin/ls ���O�O�H
�o�O�]�������ܼ� PATH �����U�ҭP�r�I���ڭ̦b����@�ӫ��O���ɭԡA
�t�η|�̷� PATH ���]�w�h�C�� PATH �w�q�����|�U�j�M�����ɡA���j�M�쪺���O���Q���椧�I�{�b�A�ФU�F
echo $PATH �A echo ���y��ܡB�L�X�z���N��A�� PATH �e���[�� $ ���ܫ᭱�����O�ܼơA�ҥH�Y�|��ܥX�ثe�� PATH �F�I
[root@linux ~]# echo $PATH
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
|
�`�N��F�ܡH��աI /bin �b PATH ���]�w�����A�ҥH�۵M�N�i�H�䪺�� ls �աI
PATH �������ɨӻ��A�O�ӫܭ��n���y�ܼơz�A�L�D�n�O�ΨӳW�d���O�j�M���ؿ��C
�ӨC�ӥؿ��O�����Ǫ��A�C�ӥؿ������H�_���y:�z�Ӥ��j�A�N�p�P�W���d�Ҥ����쪺�o�I
���� PATH �o���ܼ��٦�����a�譫�n�O�H
- �p�G�A�N ls ���ʨ� /root ���U���� (mv /bin/ls /root) �A�M��A�ۤv�����]�b /root ���U (cd /root)
�A���O���A���� ls ���ɭԡA�L�N�O���z�A�H����H�o�O�]�� PATH �o���ܼƨS�� /root
�o�ӥؿ��A�ӧA�S�N ls ���ʨ� /root ���U�F�A�۵M�t�δN�䤣��i�����ɤF�A�]���N�|�i�D�A�A
command not found �I����ӫ��J�A�o�ذ��D�O�H����Ӥ�k�A��@�G�����N
/root �����|�[�J PATH �����I�p��W�[�H�i�H�ϥΡG
[root@linux ~]# PATH="$PATH":/root
|
�o�ؤ覡�ӼW�[ PATH �j�M�ؿ��Y�i�I�t�@�ؤ覡�h�O�ϥΧ����ɦW�ӤU�F���O�A
��Y�����ϥά۹�ε�����|�Ӱ���A�Ҧp�G
[root@linux ~]# /root/ls
[root@linux ~]# ./ls
|
�]���b�P�@�ӥؿ����A�ӧڭ̤S���D�b�P�@�ӥؿ������ؿ��Ÿ����y . �z�A�]���A�N�H�W����
./ls �Ӱ���]�i�H�I�o�ذ���覡�H��z���ӷ|�ܱ`����~��I
- �p�G�ڦ���� ls �ɮצb���P���ؿ����A�Ҧp /usr/local/bin/ls ���U�P /bin/ls ������ڤU�F ls
���ɭԡA���� ls �|�Q����H���٥λ��A�N��X PATH �̭����ӥؿ����Q�d�ߡA�h���ӥؿ��U���ɮ״N�|�Q������F�I
- �x�I�J�M�p�����ܡA���n�b PATH �̭��[�J . �o�ӥؿ��A�p���@�Ӫ��ܡA
���N�i�H�����b�Ҧb�ؿ������ɮפF�ܡH�]�� . �N���Ҧb�ؿ����I�O�o�˨S���I���O���S���Q�L�A�p�G�Y�ѡA
�Y�өǩǪ��ϥΪ̦b /tmp �̭��g�F�@�� ls ���ɮסA�����L�O���`���ɮסA������A�b /tmp ���U���� ls
�ɡA����H�I�S���A�i��|�y���Сz�A�ҥH�o�A���F�w���_���A����ij�N�y .
�z�[�J PATH ���j�M�����I
�����h�� PATH �P�������y�ܼơz�Ρy�����ܼơz�����A�ڭ̷|�b�ĤT�g bash shell �ɡA
�A��`�J�������o��Ӹg�L�W���������A�z���Ӥ]�������A�Ѫ��O�G�y
��������|�U�F���O����k��۹���|�n���T���h �z�o�y�ܪ��N�q�o�� ^_^
�]���O�������ӫ��O�Ӱ���A�Ӥ��O�z�L PATH �o���ܼƪ����e�h�j�M���ڡI
�ͤF�ͥؿ��P���|����A�A�ӰQ�פ@�U�����ɮת��@�ǰz�a�I�ɮP�ؿ����z�W�A���~�G�y����ݩʡz�B
�y�����z�B�y�R���ɮסz�Ρy�����ɮשΥؿ��z�����A�ѩ��ɮP�ؿ����z�b Linux �����O�ܭ��n���I
�ר�O�C�ӤH�ۤv�a�ؿ�����Ƥ]���ݭn�`�N�z�I�ѩ�ڭ̦b����{�����ɫ�A�t�ιw�]���@�ӷj�M�����|���ǡA
�p�G����ӥH�W�ۦP�ɦW�������ɤ��O�b���P�����|�ɡA�����A�N�ݭn�S�O�d�N�o�I
�o�̧ڭ̨ӽͤ@�ͦ����ɮP�ؿ����@�ǰ�¦�z�����a�I
�ɮP�ؿ����˵��G ls
[root@linux ~]# ls [-aAdfFhilRS] �ؿ��W��
[root@linux ~]# ls [--color={none,auto,always}] �ؿ��W��
[root@linux ~]# ls [--full-time] �ؿ��W��
�ѼơG
-a �G�������ɮסA�s�P������( �}�Y�� . ���ɮ�) �@�_�C�X�ӡ�
-A �G�������ɮסA�s�P�����ɡA�����]�A . �P .. �o��ӥؿ��A�@�_�C�X�ӡ�
-d �G�ȦC�X�ؿ������A�Ӥ��O�C�X�ؿ������ɮ��
-f �G�����C�X���G�A�Ӥ��i��Ƨ� (ls �w�]�|�H�ɦW�ƧǡI)
-F �G�ھ��ɮסB�ؿ�����T�A�������[��Ƶ��c�A�Ҧp�G
*�G�N���i�����ɡF /�G�N���ؿ��F =�G�N�� socket �ɮסF |�G�N�� FIFO �ɮסF
-h �G�N�ɮe�q�H�H������Ū���覡(�Ҧp GB, KB ����)�C�X�ӡF
-i �G�C�X inode ��m�A�ӫD�C�X�ɮ��ݩʡF
-l �G����Ʀ�C�X�A�]�t�ɮת��ݩʵ�����ơF
-n �G�C�X UID �P GID �ӫD�ϥΪ̻P�s�ժ��W�� (UID�PGID�|�b�b���z����I)
-r �G�N�Ƨǵ��G�ϦV��X�A�Ҧp�G�쥻�ɦW�Ѥp��j�A�ϦV�h���Ѥj��p�F
-R �G�s�P�l�ؿ����e�@�_�C�X�ӡF
-S �G�H�ɮe�q�j�p�ƧǡI
-t �G�̮ɶ��Ƨ�
--color=never �G���n�̾��ɮׯS�ʵ����C����ܡF
--color=always �G����C��
--color=auto �G���t�Φۦ�̾ڳ]�w�ӧP�_�O�_�����C��
--full-time �G�H����ɶ��Ҧ� (�]�t�~�B��B��B�ɡB��) ��X
--time={atime,ctime} �G��X access �ɶ��� �����v���ݩʮɶ� (ctime)
�ӫD���e�ܧ�ɶ� (modification time)
�d�ҡG
|
�b Linux �t�η����A�o�� ls ���O�i��O�̱`�Q���檺�a�I�]���ڭ��H�ɳ��n���D�ɮשΪ̬O�ؿ���������T�ڡ�
���L�A�ڭ� Linux ���ɮשҰO������T��b�O�Ӧh�F�A ls �S���ݭn�������C�X�өO��
�ҥH�A���z�u���U�F ls �ɡA�w�]��ܪ��u���G
�D�����ɪ��ɦW�B
�H�ɦW�i��ƧǤ��ɦW�N�����C������F�p���Ӥw�C�|�Ҩӻ��A
�z�U�F ls /etc ����A�u���g�L�ƧǪ��ɦW�H�ΥH�Ŧ���ܥؿ��Υզ���ܤ@���ɮסA�p���Ӥw�C
���p�G���ٷQ�n�[�J��L����ܸ�T�ɡA�i�H�[�J�W�Y���쪺���Ǧ��Ϊ��ѼƩO��
�|�Ҩӻ��A�ڭ̤��e�@���Ψ쪺 -l �o�Ӫ�����ܸ�Ƥ��e�A�H�αN�����ɤ]�@�_�C�ܥX�Ӫ� -a �ѼƵ����C
�d�Ҥ@�G�N�a�ؿ��U���Ҧ��ɮצC�X��(�t�ݩʻP������)
[root@linux ~]# ls -al ~
total 252
drwxr-x--- 9 root root 4096 Jul 16 23:40 .
drwxr-xr-x 24 root root 4096 Jul 16 23:45 ..
-rw------- 1 root root 1491 Jun 25 08:53 anaconda-ks.cfg
-rw------- 1 root root 12543 Jul 18 01:23 .bash_history
-rw-r--r-- 1 root root 24 Dec 4 2004 .bash_logout
-rw-r--r-- 1 root root 191 Dec 4 2004 .bash_profile
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
-rw-r--r-- 1 root root 5976 Jun 25 08:53 install.log.syslog
drwx------ 2 root root 4096 Jul 4 16:03 .ssh
-rw------- 1 root root 12613 Jul 16 23:40 .viminfo
# �o�ӮɭԱz�|�ݨ�H . ���}�Y���X���ɮסA�H�Υؿ��� ./../.ssh �����A
# ���L�A�ؿ��ɳ��O�H�`�Ŧ���ܡA���I���e���ݲM���N�O�F�C
�d�ҤG�G�ӤW�D�A������C��A���b�ɦW����ܥX���ɦW�N��������(type)
[root@linux ~]# ls -alF --color=never ~
total 252
drwxr-x--- 9 root root 4096 Jul 16 23:40 ./
drwxr-xr-x 24 root root 4096 Jul 16 23:45 ../
-rw------- 1 root root 1491 Jun 25 08:53 anaconda-ks.cfg
-rw------- 1 root root 12543 Jul 18 01:23 .bash_history
-rw-r--r-- 1 root root 24 Dec 4 2004 .bash_logout
-rw-r--r-- 1 root root 191 Dec 4 2004 .bash_profile
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
-rw-r--r-- 1 root root 5976 Jun 25 08:53 install.log.syslog
drwx------ 2 root root 4096 Jul 4 16:03 .ssh/
-rw------- 1 root root 12613 Jul 16 23:40 .viminfo
# �`�N�ݨ���ܵ��G���Ĥ@��A�K�K�㪾�D����ڭ̷|�U�F���� ./command
# ���������O�F�a�H�]�� ./ �N�����O�y�ثe�ؿ��U�z���N��ڡI�ܩ�O FIFO/Socket �H
# �аѦҫe�@���`�����аڡI
�d�ҤT�G���㪺�e�{�ɮת��ק�ɶ� *(modification time)
[root@linux ~]# ls -al --full-time ~
total 252
drwxr-x--- 9 root root 4096 2005-07-16 23:40:13.000000000 +0800 .
drwxr-xr-x 24 root root 4096 2005-07-16 23:45:05.000000000 +0800 ..
-rw------- 1 root root 1491 2005-06-25 08:53:37.000000000 +0800 anaconda-ks.cfg
-rw------- 1 root root 12543 2005-07-18 01:23:33.000000000 +0800 .bash_history
-rw-r--r-- 1 root root 24 2004-12-04 05:44:13.000000000 +0800 .bash_logout
-rw-r--r-- 1 root root 191 2004-12-04 05:44:13.000000000 +0800 .bash_profile
-rw-r--r-- 1 root root 395 2005-07-04 11:45:16.000000000 +0800 .bashrc
-rw-r--r-- 1 root root 68495 2005-06-25 08:53:34.000000000 +0800 install.log
-rw-r--r-- 1 root root 5976 2005-06-25 08:53:28.000000000 +0800 install.log.syslog
drwx------ 2 root root 4096 2005-07-04 16:03:24.000000000 +0800 .ssh
-rw------- 1 root root 12613 2005-07-16 23:40:13.000000000 +0800 .viminfo
# �ХJ�ӬݡA�W�����y�ɶ��z����ܤF��I�ܦ��������㪺�榡�C
# �@��ӻ��A ls -al �ȦC�X�ثe�u�榡���ɶ��A���ɤ��|�C�X�~���A
# �ǥ� --full-time �i�H�d�\�������T������ɶ��榡�ڡI
|
��� ls ���Ϊk�٦��ܦh�A�]�A�d�\�ɮשҦb i-node �� ls -i �ѼơA�H�ΥΨӶi���ɮױƧǪ� -S
�ѼơA�٦��ΨӬd�\���P�ɶ����ʧ@�� --time=atime ���ѼơC�ӳo�ǰѼƪ��s�b���O�]�� Linux
�ɮרt�ΰO���F�ܦh���Ϊ���T���t�G�C���� Linux ���ɮרt�Τ��A�o�ǻP�v���B�ݩʦ�������Ʃ�b���̩O�H
��b i-node �̭��C����o�����A�ڭ̷|�b�U�ӳ��`�~���z�@����`�J�����аڡI
�L�צp��A ls �̱`�Q�ϥΨ쪺�\���٬O���� -l ���ѼơA�����A�ܦh distribution �b�w�]�����p���A
�w�g�N ll (L ���p�g) �]�w���� ls -l ���N��F�I���A���ӥ\��O Bash shell �� alias �\��O��
�]�N�O���A�ڭ̪�����J ll �N����O��J ls -l �O�@�˪�������o�����A�ڭ̷|�b�ĤT�� bash shell
�ɦA�����j�պw��
�ƻs�B���ʻP�R���G cp, rm, mv
�n�ƻs�ɮסA�Шϥ� cp (copy) �o�ӫ��O�Y�i�㤣�L�A cp �o�ӫ��O���γ~�i�h�F��
���F��ª��ƻs���~�A�٥i�H�إ߳s���� (�N�O���|�o)�A�����ɮת��s�¦Ӥ��H��s�A
�H�νƻs��ӥؿ��������\��O�I�ܩʥؿ��P�ɮסA�h�ϥ� mv (move)�A
�o�ӫ��O�]�i�H�������ӧ@��W (rename) ���ʧ@��I�ܩ��ܡH���N�O rm (remove)
�o�ӫ��O�o�㩳�U�ڭ̴N���@�@�@����
cp (�ƻs�ɮשΥؿ�)
[root@linux ~]# cp [-adfilprsu] �ӷ���(source) �ت���(destination)
[root@linux ~]# cp [options] source1 source2 source3 .... directory
�ѼơG
-a �G�۷��� -pdr ���N��F
-d �G�Y�ӷ��ɬ��s���ɪ��ݩ�(link file)�A�h�ƻs�s�����ݩʦӫD�ɮץ����F
-f �G���j�� (force) ���N��A�Y�����ƩΨ�L�ðݮɡA���|�߰ݨϥΪ̡A�ӱj��ƻs�F
-i �G�Y�ت���(destination)�w�g�s�b�ɡA�b�л\�ɷ|���߰ݬO�_�u���ʧ@�I
-l �G�i��w���s�� (hard link) ���s���ɫإߡA�ӫD�ƻs�ɮץ����F
-p �G�s�P�ɮת��ݩʤ@�_�ƻs�L�h�A�ӫD�ϥιw�]�ݩʡF
-r �G���j����ƻs�A�Ω�ؿ����ƻs�欰�F
-s �G�ƻs�����Ÿ��s���� (symbolic link)�A��Y�y���|�z�ɮסF
-u �G�Y destination �� source �¤~��s destination �I
�̫�ݭn�`�N���A�p�G�ӷ��ɦ���ӥH�W�A�h�̫�@�ӥت��ɤ@�w�n�O�y�ؿ��z�~��I
�d�ҡG
�d�Ҥ@�G�N�a�ؿ��U�� .bashrc �ƻs�� /tmp �U�A�ç�W�� bashrc
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# cp -i ~/.bashrc bashrc
cp: overwrite `basrhc'? n
# ���Ƨ@�⦸�ʧ@�A�ѩ� /tmp ���U�w�g�s�b bashrc �F�A�[�W -i �ѼơA
# �h�b�л\�e�|�߰ݨϥΪ̬O�_�T�w�I�i�H���U n �Ϊ� y �O�I
# ���O�A�ϹL�ӻ��A�p�G���Q�n�߰ݮɡA�h�[�W -f �o�ӰѼƨӱj����л\�I
�d�ҤG�G�N /var/log/wtmp �ƻs�� /tmp ���U
[root@linux tmp]# cp /var/log/wtmp . <==�Q�n�ƻs��ثe���ؿ��A�̫᪺ . ���n��
[root@linux tmp]# ls -l /var/log/wtmp wtmp
-rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
-rw-r--r-- 1 root root 71808 Jul 18 21:58 wtmp
# �`�N��F�ܡH�I�b���[����Ѽƪ����p�U�A�ɮת����ݪ̷|���ܡA�s�v���]��ۧ��ܤF��
# �o�O�ӫܭ��n���S�ʡI�n�`�N��I�٦��A�s�ɮإߪ��ɶ��]���@�ˤF�I
# �p�G�z�Q�n�N�ɮת��Ҧ��S�ʳ��@�_�ƻs�L�ӡA�i�H�[�W -a ��I
[root@linux tmp]# cp -a /var/log/wtmp wtmp_2
[root@linux tmp]# ls -l /var/log/wtmp wtmp_2
-rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 /var/log/wtmp
-rw-rw-r-- 1 root utmp 71808 Jul 18 12:46 wtmp_2
# �A�F�a�I��Ӹ�ƯS�ʧ����@�Ҥ@�ˣ��I�u�O�����o�N�O -a ���S�ʡI
�d�ҤT�G�ƻs /etc/ �o�ӥؿ��U���Ҧ����e�� /tmp ���U
[root@linux tmp]# cp /etc/ /tmp
cp: omitting directory `/etc' <== �p�G�O�ؿ��A���ઽ���ƻs�A�n�[�W -r ���Ѽ�
[root@linux tmp]# cp -r /etc/ /tmp
# �٬O�n�A�����j�ճ�I -r �O�i�H�ƻs�ؿ��A���O�A�ɮP�ؿ����v���|�Q���ܡ�
# �ҥH�A�]�i�H�Q�� cp -a /etc /tmp �ӤU�F���O��I
�d�ҥ|�G�N�d�Ҥ@�ƻs�� bashrc �إߤ@�ӳs���� (symbolic link)
[root@linux tmp]# ls -l bashrc
-rw-r--r-- 1 root root 395 Jul 18 22:08 bashrc
[root@linux tmp]# cp -s bashrc bashrc_slink
[root@linux tmp]# cp -l bashrc bashrc_hlink
[root@linux tmp]# ls -l bashrc*
-rw-r--r-- 2 root root 395 Jul 18 22:08 bashrc
-rw-r--r-- 2 root root 395 Jul 18 22:08 bashrc_hlink
lrwxrwxrwx 1 root root 6 Jul 18 22:31 bashrc_slink -> bashrc
# ���� bashrc_slink �O�� -s ���ѼƳy�����A�إߪ��O�@�ӡy���|�z�A
# �ҥH�z�|�ݨ�b�ɮת��̥k��A�|��ܳo���ɮO�y�s���z����̥h���I
# �ܩ� bashrc_hlink ����F�I�إߤF�o���ɮפ���A bashrc �P bashrc_hlink
# �Ҧ����ѼƳ��@�ˡA�u�O�A�ĤG�檺 link �Ƨ��ܦ��� 2 �F��Ӥ��O�쥻�� 1 ��I
# �o��سs�����覡�����P�A�ڭ̷|�b�U�@���̭��i�椶�Ъ��I
�d�Ҥ��G�Y ~/.bashrc �� /tmp/bashrc �s�~�ƻs�L��
[root@linux tmp]# cp -u ~/.bashrc /tmp/bashrc
# �o�� -u ���S�ʡA�O�b�ؼ��ɮP�ӷ��ɮצ��t���ɡA�~�|�ƻs���C
# �ҥH�A����`�Q�Ω�y�ƥ��z���u�@������I ^_^
�d�Ҥ��G�N�d�ҥ|�y���� bashrc_slink �ƻs���� bashrc_slink_2
[root@linux tmp]# cp bashrc_slink bashrc_slink_2
[root@linux tmp]# ls -l bashrc_slink*
lrwxrwxrwx 1 root root 6 Jul 18 22:31 bashrc_slink -> bashrc
-rw-r--r-- 1 root root 395 Jul 18 22:48 bashrc_slink_2
# �o�ӨҤl�]�O�ܦ����I�쥻�ƻs���O�s���ɡA���O�o�N�s���ɪ�����ɮƻs�L�ӤF
# �]�N�O���A�p�G�S���[�W����ѼƮɡA�ƻs���O��l�ɮסA�ӫD�s���ɪ��ݩʡI
# �Y�n�ƻs�s���ɪ��ݩʡA�N�o�n�ϥ� -d �Ϊ� -a ���ѼƤF�I
�d�ҤC�G�N�a�ؿ��� .bashrc �� .bash_history �ƻs�� /tmp ���U
[root@linux tmp]# cp ~/.bashrc ~/.bash_history /tmp
# �i�H�N�h�Ӹ�Ƥ@���ƻs��P�@�ӥؿ��h�I
|
�o�� cp ���\��ܦh�A�ӥѩ�ڭ̱`�`�b�i��@�Ǹ�ƪ��ƻs�A�ҥH�]�|�`�`�Ψ�o�ӫ��O���C
�@��ӻ��A�ڭ̦p�G�h�ƻs�O�H����� (���M�A���ɮױz�����n�� read ���v���~��ڡI ^_^) �ɡA
�`�O�Ʊ�ƻs�쪺��Ƴ̫�O�ڭ̦ۤv���A�ҥH�A
�b�w�]�����A cp
���ӷ��ɻP�ت��ɪ��v���O���P���A�ت��ɪ��֦��̳q�`�|�O���O�ާ@�̥����C�|�Ҩӻ��A
�W�����d�ҤG���A�ѩ�ڬO root �������A�]���ƻs�L�Ӫ��ɮ֦��̻P�s�մN���ܦ��� root �Ҧ��F�I
�o�˻��A�i�H���նܡH�I ^_^
�ѩ�㦳�o�ӯS�ʡA�]���A���ڭ̦b�i��ƥ����ɭԡA�Y�ǻݭn�S�O�`�N���S���v���ɮסA
�Ҧp�K�X�� (/etc/shadow) �H�Τ@�dz]�w�ɡA�N���ઽ���H cp �ӽƻs�A�ӥ����n�[�W -a �Ϊ̬O -p
�����i�H����ƻs�ɮ��v�����ѼƤ~��I�t�~�A�p�G�z�Q�n�ƻs�ɮ���L���ϥΪ̡A
�]�����n�`�N���ɮת��v��(�]�tŪ�B�g�B����H���ɮ֦��̵���)�A
�_�h�A��L�H�٬O�L�k�w��z�������ɮi��q���ʧ@��I�`�N�`�N�I
�ܩ�W�����d�ҷ����A�ĥ|�ӽd�ҬO�̦��쪺�A�ϥ� -l �� -s ���|�إߩҿת��s���� (link file)�A
���O�o��سs���ɽT�����@�˪��i�{���p�C�o�O���@�^�ưڡH
���� -l �N�O�ҿת� hard link �A�ܩ� -s �h�O symbolic link �A�����o�̥������СA
�]���o�ӯA�� i-node ���������ѡA�ڭ��٨S�����Ш�A�U�@���A�ӰQ�׳o�� link �����D��I
�`���A�ѩ� cp ���غت��ɮ��ݩʻP�v�����S�ʡA�ҥH�A�b�ƻs�ɡA�z�����n�M�����A�Ѩ�G
- �O�_�ݭn���㪺�O�d�ӷ��ɮת���T�H
- �ӷ��ɮO�_���s���� (symbolic link file)�H
- �ӷ��ɬO�_���S�����ɮסA�Ҧp FIFO, socket ���H
- �ӷ��ɬO�_���ؿ��H
rm (�����ɮשΥؿ�)
[root@linux ~]# rm [-fir] �ɮשΥؿ�
�ѼơG
-f �G�N�O force ���N��A�j����F
-i �G���ʼҦ��A�b�R���e�|�߰ݨϥΪ̬O�_�ʧ@
-r �G���j�R���ڡI�̱`�Φb�ؿ����R���F
�d�ҡG
�d�Ҥ@�G�إߤ@�ɮᤩ�H�R��
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# rm -i bashrc
rm: remove regular file `bashrc'? y
# �p�G�[�W -i ���ѼƴN�|�D�ʸ߰ݳ�I����p�G���n�߰ݩO�H�N�[ -f �ѼưڡI
�d�ҤG�G�R���@�Ӥ����Ū��ؿ�
[root@linux tmp]# mkdir test
[root@linux tmp]# cp ~/.bashrc test/ <== �N�ɮƻs�즹�ؿ��h�A�N���O�Ū��ؿ��F
[root@linux tmp]# rmdir test
rmdir: `test': Directory not empty <== �R�����ڡI�]���o���O�Ū��ؿ��I
[root@linux tmp]# rm -rf test
�d�ҤT�G�R���@�ӱa�� - �}�Y���ɮ�
[root@linux tmp]# ls *aa*
-rw-r--r-- 1 root root 0 Aug 22 10:52 -aaa-
[root@linux tmp]# rm -aaa-
rm: invalid option -- a
Try `rm --help' for more information. <== �]�� "-" �O�Ѽƹ��I
[root@linux tmp]# rm ./-aaa-
|
�o�O���������O( remove )�A�۷��� dos �U�� del ���O�I�o�̭n�`�N���O�A�q�`�b Linux
�t�ΤU�A���F���ɮ׳Q�~���A�ҥH�ܦh distributions ���w�g�w�]�� -i �o�ӰѼơA -i
�O���C���ɮ׳Q�������e���|���ϥΪ̽T�{�@���A�H�w���~���ɮסI�Ӧp�G�n�s�ؿ��U���F�賣�@�_�������ܡA
�Ҧp�l�ؿ��̭��٦��l�ؿ��ɡA���N�n�ϥ� -rf �o�ӰѼƤF�I
���L�A�ϥΡy
rm -rf �z�o�ӫ��O���e�A�Фd�U�`�N�F�A�]���A�ӥؿ����ɮסy�֩w�z�|�Q root
�����I�]���t�Τ��|�A���߰ݧA�O�_�n�屼��I�ҥH���O�ӶW���Y�������O�U�F��I
�o�S�O�`�N�I���L�A�p�G�A�T�w�ӥؿ����n�F�A����ϥ� rm -rf �Ӵ`�������O�������覡�I
�t�~�A�d�ҤT�]�O�ܦ��쪺�Ҥl�A�ڭ̦b���e�N�L�A�ɦW�̦n���n�ϥ� "-" ���}�Y�A
�]�� "-" �᭱�����O�ѼơA�]���A��ª��ϥΡy rm -aaa- �z�t�Ϊ����O�N�|�~�P�աI
���p�G�ϥΫ᭱�|�ͨ쪺���W���ܪk�ɡA�٬O�|�X���D���I�ҥH�A�u����L����r���O "-" ����k�աI
�N�O�[�W���ؿ��y ./ �z�Y�i�I�p�G man rm ���ܡA����٦��@�ؤ�k�A���N�O�y rm -- -aaa-
�z�]�i�H�ڡI
mv (�����ɮP�ؿ��A�Χ�W)
[root@linux ~]# mv [-fiu] source destination
[root@linux ~]# mv [options] source1 source2 source3 .... directory
�ѼơG
-f �Gforce �j��N��A�j������ʦӤ��߰ݡF
-i �G�Y�ؼ��ɮ� (destination) �w�g�s�b�ɡA�N�|�߰ݬO�_�л\�I
-u �G�Y�ؼ��ɮפw�g�s�b�A�B source ����s�A�~�|��s (update)
�d�ҡG
�d�Ҥ@�G�ƻs�@�ɮסA�إߤ@�ؿ��A�N�ɮײ��ʨ�ؿ���
[root@linux ~]# cd /tmp
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# mkdir mvtest
[root@linux tmp]# mv bashrc mvtest
# �N�Y���ɮײ��ʨ�Y�ӥؿ��h�A�N�O�o�˰��I
�d�ҤG�G�N��誺�ؿ��W�٧�W�� mvtest2
[root@linux tmp]# mv mvtest mvtest2 <== �o�˴N��W�F�I²���
# ���b Linux ���U�٦��Ӧ��쪺���O�A�W�٬� rename �A
# �ӫ��O�h�M¾�i���ɮת���W�O�I�γ~�]�O���֡�i�H�Ѿ\ man rename ��I
�d�ҤT�G�A�إߨ���ɮסA�A�������ʨ� /tmp/mvtest2 ����
[root@linux tmp]# cp ~/.bashrc bashrc1
[root@linux tmp]# cp ~/.bashrc bashrc2
[root@linux tmp]# mv bashrc1 bashrc2 mvtest2
# �`�N��o��A�p�G���h�Өӷ��ɮשΥؿ��A�h�̫�@�ӥؼ��ɤ@�w�O�y�ؿ��I�z
# �N��O���A�N�Ҧ�����Ʋ��ʨ�ӥؿ����N��I
|
�o�O�h�� (move) ���N��I���A�n�����ɮשΥؿ����ɫ�A�����I�o�ӫ��O�N�ܭ��n�աI
�P�˪��A�A�]�i�H�ϥ� -u ( update )�Ӵ��շs���ɮסA�ݬݬO�_�ݭn�h���o�I
�t�~�@�ӥγ~�N�O�y
�ܧ��ɦW�I�z�A�ڭ̥i�H�ܻ������ϥ�
mv ���ܧ�@���ɮת��ɦW�O�I���L�A�b Linux �~�������O�����A���� rename �A
�i�H�Ψӧ��j�q�ɮת��ɦW�A�z�i�H�Q�� man rename �Ӭd�\�@�U�A�]�O�����쪺���O��I
���o���|���ɮצW�ٻP�ؿ��W��
�ڭ̫e�����Ъ������ɦW (�]�t�ؿ��W�ٻP�ɮצW��) ��������A�����ɦW�̪��i�H��F 4096 �Ӧr���C
����z��D���ӬO�ɦW�H���ӬO�ؿ��W�H�K�K�I�N�O�Q�αu (/) �Ӥ���ڡI
���A���o�ɦW�Ϊ̬O�ؿ��W�١A�@�몺�γ~���ӬO�b�g�{�����ɭԡA�ΨӧP�_���Ϊ��ա�
�ҥH�A�o���������O�i�H�Φb�ĤT�g���� shell scripts ���Y��I
���U�ڭ�²�檺�H�X�ӽd�Ҩӽͤ@�� basename �P dirname ���γ~�I
[root@linux ~]# basename /etc/sysconfig/network
network <== ��²��I�N���o�̫᪺�ɦW��
[root@linux ~]# dirname /etc/sysconfig/network
/etc/sysconfig <== ���o���ܦ��ؿ��W�F�I
|
��²�檺���Χa�I
���ڭ̴��쪺���u�O�b������ɮת��ݩʻP�v���A�Ϊ̬O���ʻP�ƻs�@���ɮשΥؿ��Ӥw�A
����p�G�ڭ̭n�d�\�@���ɮת����e�ɡA�Ӧp��O�n�O�H�I�o�̦��۷��h���쪺���O�i�H�Ӥ��ɤ@�U�G
�̱`�ϥΪ�����ɮפ��e�����O�i�H���O cat �P more �� less �F�I���~�A�p�G�ڭ̭n�d�ݤ@�ӫܤj�����ɮ�
( �n�X��MB�� )�A���O�ڭ̥u�ݭn��ݪ��X��r�Ӥw�A����Ӧp��O�n�H�����I�� tail �r�A���~�A
tac �o�ӫ��O�]�i�H�F��I�n�F�A�����U�ӫ��O���γ~�a�I
- cat �ѲĤ@��}�l����ɮפ��e
- tac �q�̫�@��}�l��ܡA�i�H�ݥX tac �O cat ���˵ۼg�I
- nl ��ܪ��ɭԡA���D��X�渹�I
- more �@���@��������ɮפ��e
- less �P more �����A���O�� more ��n���O�A�L�i�H���e½���I
- head �u���Y�X��
- tail �u�ݧ��ڴX��
- od �H�G�i�쪺�覡Ū���ɮפ��e�I
�����˵��ɮפ��e
�����d�\�@���ɮת����e�i�H�ϥ� cat/tac/nl �o�X�ӫ��O�ڡI
cat (concatenate)
[root@linux ~]# cat [-AEnTv]
�ѼơG
-A �G�۷��� -vET ����X�ѼơA�i�C�X�@�ǯS���r�š�
-E �G�N�������_��r�� $ ��ܥX�ӡF
-n �G�C�L�X�渹�F
-T �G�N [tab] ����H ^I ��ܥX�ӡF
-v �G�C�X�@�Ǭݤ��X�Ӫ��S���r��
�d�ҡG
�d�Ҥ@�G�˾\ /etc/issue �o���ɮת����e
[root@linux ~]# cat /etc/issue
Fedora Core release 4 (Stentz)
Kernel \r on an \m
�d�ҤG�G�ӤW�D�A���K�C�L�X�渹�ɡI
[root@linux ~]# cat -n /etc/issue
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
3
# �ݨ�F�a�I�i�H�L�X�渹�O�I�o���j�ɮn��Y�ӯS�w����ɡA���I�γB�I
�d�ҤT�G�N /etc/xinetd.conf �����e���㪺��ܥX��(�]�t�S���r��)
[root@linux ~]# cat -A /etc/xinetd.conf
#$
# Simple configuration file for xinetd$
#$
# Some defaults, and include /etc/xinetd.d/$
$
defaults$
{$
^Iinstances = 60$
log_type = SYSLOG authpriv$
log_on_success^I^I= HOST PID$
log_on_failure^I^I= HOST$
^Icps^I^I^I= 25 30$
}$
$
includedir /etc/xinetd.d$
# �b�@�몺���Ҥ��A�C�L�X�Ӫ����G�b�� [tab] �P�ť���A���ݤ��X�ӡA
# ����ϥ� cat -A �ɡA�|�N [tab] ����H ^I ��ܡA���_��r���]�|��ܥX�ӡ�
# �̯S�������M�N�O�_��r���F�I�o�Ӭq��r���b Linux �P Windows �O���@�˪��C
# �b Linux �O�H $ ���_��r���A�Ӧb Windows �h�O�H ^M$ ���_��r���C
# �o�����ڭ̷|�b vi �n�骺���ЮɡA�A�����������I
|
�K�K�I Linux �̭����y�ߡz�H�I��I���O���A cat �O Concatenate �]�s��^��²�g�A
�D�n���\��O�N�@���ɮת����e�s�L�X�b�ù��W���I�Ҧp�W�����Ҥl���A�ڭ̱N /etc/issue
�L�X�ӡI�p�G�[�W -n ���ܡA�h�C�@��e���ٷ|�[�W�渹��I�����ӤH�O����֥� cat
�աI�������A���ɮפ��e����ƶW�L 40 ��H�W�A�K�K�I�ڥ��Ӥ��άݡI�ҥH�A�t�X���@�U�n���Ъ� more
�Ϊ̬O less �Ӱ������n�I���~�A�p�G�O�@�몺 DOS �ɮɡA�N�ݭn�S�O�d�N�@�ǩ_�_�ǩǪ��Ÿ��F�A
�Ҧp�_��P [tab] ���A�n��ܥX�ӡA�N�o�[�J -A �������ѼƤF�I
tac (�ϦV�C��)
[root@linux ~]# tac /etc/issue
Kernel \r on an \m
Fedora Core release 4 (Stentz)
# �K�K�I�P���W�����d�Ҥ@����A�O�ѳ̫�@�����ܳ�I
|
tac �o�Ӧn���F�I��O�H�ԲӪ��ݤ@�U�A cat �P tac �A���S���o�{�r�I��աI
tac ��n�O�N cat �ϼg�L�ӡA�ҥH�L���\��N�� cat �ۤϰաA cat
�O�ѡy�Ĥ@���̫�@��s����ܦb�ù��W�z�A�� tac �h�O�y
�ѳ̫�@���Ĥ@��ϦV�b�ù��W��ܥX�� �z�A�ܦn���a�I
nl (�K�[�渹�C�L)
[root@linux ~]# nl [-bnw] �ɮ�
�ѼơG
-b �G���w�渹���w���覡�A�D�n����ءG
-b a �G���ܤ��O�_���Ŧ�A�]�P�˦C�X�渹�F
-b t �G�p�G���Ŧ�A�Ū����@�椣�n�C�X�渹�F
-n �G�C�X�渹���ܪ���k�A�D�n���T�ءG
-n ln �G�渹�b�ù����̥�����ܡF
-n rn �G�渹�b�ۤv��쪺�̥k����ܡA�B���[ 0 �F
-n rz �G�渹�b�ۤv��쪺�̥k����ܡA�B�[ 0 �F
-w �G�渹��쪺���Ϊ��줸�ơC
�d�ҡG
�d�Ҥ@�G�C�X /etc/issue �����e
[root@linux ~]# nl /etc/issue
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
# �`�N�ݡA�o���ɮר�꦳�T��A�ĤT�欰�ť�(�S������r��)�A
# �]���L�O�ťզ�A�ҥH nl ���|�[�W�渹��I�p�G�T�w�n�[�W�渹�A�i�H�o�˰��G
[root@linux ~]# nl -b a /etc/issue
1 Fedora Core release 4 (Stentz)
2 Kernel \r on an \m
3
# �����I�渹�[�W���o�㨺��p�G�n���渹�e���۰ʸɤW 0 �O�H�i�o��
[root@linux ~]# nl -b a -n rz /etc/issue
000001 Fedora Core release 4 (Stentz)
000002 Kernel \r on an \m
000003
# �K�K�I�۰ʦb�ۤv��쪺�a��ɤW 0 �F��w�]���O����ơA�p�G�Q�n�令 3 ��ơH
[root@linux ~]# nl -b a -n rz -w 3 /etc/issue
001 Fedora Core release 4 (Stentz)
002 Kernel \r on an \m
003
# �ܦ��Ȧ� 3 ����o��
|
nl �i�H�N��X���ɮפ��e�۰ʪ��[�W�渹�I�䵲�G�P cat -n ���I���Ӥ@�ˡA
nl �i�H�N�渹������h����ܳ]�p�A�]�A��ƻP�O�_�۰ʸɻ� 0 �������\��O��
�i½���˵�
�e�����쪺 nl �P cat, tac �����A���O�@���ʪ��N�����ܨ�ù��W���A�����S���i�H�i��@���@��½�ʪ����O�ڡH
���ڭ̥i�H�@���@�����[��A�~���|�e�����ݤ���ڡ�����I�����I���N�O more �P less �o��
more (�@���@��½��)
[root@linux ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.5p
#
.......�����ٲ�.......
--More--(28%) <== ���I�b�o�@���I
|
�J�Ӫ����L�ݨ�W�����d�ҡA�p�G more �᭱�����ɮת��פj��ù���X����ƮɡA
�N�|�X�{�����W�����ϥܡC���I�b�̫�@��A�̫�@��|��ܥX�ثe��ܪ��ʤ���A
�ӥB�٥i�H�b�̫�@���J�@�Ǧ��Ϊ����O��I�b more �o�ӵ{�����B�@�L�{���A�A���X�ӫ���i�H�����G
- �ť��� (space)�G�N���V�U½�@���F
- Enter �G�N���V�U½�y�@��z�F
- /�r�� �G�N���b�o����ܪ����e�����A�V�U�j�M�y�r��z�F
- :f �G�ߨ���ܥX�ɦW�H�Υثe��ܪ���ơF
- q �G�N���ߨ����} more �A���A��ܸ��ɮפ��e�C
�n���} more �o�ӫ��O����ܤu�@�A�i�H���U q �N������}�F�C�ӭn�V�U½���A�N�ϥΪť���Y�i�C
������Ϊ��O�j�M�r�ꪺ�\��A�|�Ҩӻ��A�ڭ̨ϥΡy more /etc/man.config �z���[����ɮסA
�Y�Q�n�b���ɮפ��j�M MANPATH �o�Ӧr��ɡA�i�H�o�˰��G
[root@linux ~]# more /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.5p
#
.......�����ٲ�.......
/MANPATH <== ��J�F / ����A��дN�|�۰ʶ]��̩��U�@�浥�ݿ�J�I
|
�p�P�W���������A��J�F / ����A��дN�|�]��̩��U�@��A�åB���ݱz����J�A
�z��J�F�r�ꤧ��A�K�K�I more �N�|�}�l�V�U�j�M�Ӧr���o��ӭ��Ʒj�M�P�@�Ӧr��A
�i�H�������U n �Y�i�ڡI�̫�A���Q�n�ݤF�A�N���U q �Y�i���} more �աI
less (�@���@��½��)
[root@linux ~]# less /etc/man.config
#
# Generated automatically from man.conf.in by the
# configure script.
#
# man.conf from man-1.5p
......�����ٲ�........
: <== �o�̥i�H���ݱz��J���O�I
|
less ���Ϊk��_ more �S��[�����u�ʡA��O�H�b more ���ɭԡA�ڭ̨èS����k�V�e��½�A
�u��᭱�ݡA���Y�ϥΤF less �ɡA�����I�N�i�H�ϥ� [pageup] [pagedown]
�����䪺�\��ө��e����½�ݤ��A�z�@�A�O���O��e���ϥΨ��[�ݤ@���ɮת����e�F�O�I�H
�������~�A�b less ���Y�i�H�֦���h���y�j�M�z�\���I����i�H�V�U�j�M�A�]�i�H�V�W�j�M��
��b�O�ܤ����Ρ�W�A�i�H��J�����O���G
- �ť��� �G�V�U½�ʤ@���F
- [pagedown]�G�V�U½�ʤ@���F
- [pageup] �G�V�W½�ʤ@���F
- /�r�� �G�V�U�j�M�y�r��z���\��F
- ?�r�� �G�V�W�j�M�y�r��z���\��F
- n �G���ƫe�@�ӷj�M (�P / �� ? �����I)
- N �G�ϦV�����ƫe�@�ӷj�M (�P / �� ? �����I)
- q �G���} less �o�ӵ{���F
�d�\�ɮפ��e�٥i�H�i��j�M���ʧ@���@�� less �O�_�ܤ����ΰڡI
��� less �٦��ܦh���\���I�ԲӪ��ϥΤ覡�Шϥ� man less �d�ߤ@�U�ڡI ^_^
����^��
�ڭ̥i�H�N��X����Ƨ@�@�ӳ�²�檺�^���A���N�O���X�e�� (head) �P���X�᭱ (tail) ��r���\��C
���L�A�n�`�N���O�A head �P tail ���O�H�y��z�����Ӷi�����^������I
head (���X�e���X��)
[root@linux ~]# head [-n number] �ɮ�
�ѼơG
-n �G�᭱���Ʀr�A�N����ܴX�檺�N��
�d�ҡG
[root@linux ~]# head /etc/man.config
# �w�]�����p���A��ܫe���Q��I�Y�n��ܫe 20 ��A�N�o�n�o�ˡG
[root@linux ~]# head -n 20 /etc/man.config
|
head ���^��N��N�O�y�Y�z�աA����o�ӪF�誺�Ϊk�۵M�N�O��ܥX�@���ɮת��e�X���o�I
�S���I�N�O�o�ˡI�Y�S���[�W -n �o�ӰѼƮɡA�w�]�u��ܤQ��A�Y�u�n�@��O�H���N�[�J�y
head -n 1 filename �z�Y�i�I
tail (���X�᭱�X��)
[root@linux ~]# tail [-n number] �ɮ�
�ѼơG
-n �G�᭱���Ʀr�A�N����ܴX�檺�N��
�d�ҡG
[root@linux ~]# tail /etc/man.config
# �w�]�����p���A��̫᪺ܳ�Q��I�Y�n��̫᪺ܳ 20 ��A�N�o�n�o�ˡG
[root@linux ~]# tail -n 20 /etc/man.config
|
���� head �۵M�N�� tail ( ���� ) �o�I�S���I�o�� tail ���Ϊk�� head
���Ϊk�t���h�����A�u�O��ܪ��O�᭱�X��N�O�F�I�w�]�]�O��ܤQ��A�Y�n��ܫD�Q��A�N�[
-n number ���ѼơI
���D�@�G���p�ڷQ�n��� ~/.bashrc ���� 11 ��� 20 ��O�H
���G
�o�����Ӥ������A�Q�@�Q�A�b�� 11 ��� 20 ��A����ڨ��e 20 ��A�A����Q��A�ҥH���G�N�O�G�y
head �Vn 20 ~/.bashrc | tail �Vn 10 �z�A�o�˴N�i�H�o��� 11 ��� 20 �椧�������e�F�I
���O�̭��A�Ψ�u�R�O�A�ݭn�b�ĤT�g���ɭԤ~������I
|
�D�¤�r�ɡG od
�ڭ̤W�����쪺�A���O�b�d�\�¤�r�� (ASCII �榡���ɮ�) �����e�C
����U�@�ڭ̷Q�n�d�\�D��r�ɡA�|�Ҩӻ��A�Ҧp /usr/bin/passwd �o�Ӱ����ɪ����e�ɡA
�S�Ӧp��hŪ�X��T�O�H�ƹ�W�A�ѩ�����ɳq�`�O binary file �A�ϥΤW�Y���쪺���O��Ū���L�����e�ɡA
�T��|���������ýX����ưڡI������H�S���Y�A�ڭ̥i�H�Q�� od �o�ӫ��O��Ū����I
[root@linux ~]# od [-t TYPE] �ɮ�
�ѼơG
-t �G�᭱�i�H���U�ءy���� (TYPE)�z����X�A�Ҧp�G
a �G�Q�ιw�]���r���ӿ�X�F
c �G�ϥ� ASCII �r���ӿ�X
d[size] �G�Q�ΤQ�i��(decimal)�ӿ�X��ơA�C�Ӿ�Ʀ��� size bytes �F
f[size] �G�Q�ίB�I�ƭ�(floating)�ӿ�X��ơA�C�ӼƦ��� size bytes �F
o[size] �G�Q�ΤK�i��(octal)�ӿ�X��ơA�C�Ӿ�Ʀ��� size bytes �F
x[size] �G�Q�ΤQ���i��(hexadecimal)�ӿ�X��ơA�C�Ӿ�Ʀ��� size bytes �F
�d�ҡG
[root@linux ~]# od -t c /usr/bin/passwd
0000000 177 E L F 001 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0
0000020 002 \0 003 \0 001 \0 \0 \0 260 225 004 \b 4 \0 \0 \0
0000040 020 E \0 \0 \0 \0 \0 \0 4 \0 \0 \a \0 ( \0
0000060 035 \0 034 \0 006 \0 \0 \0 4 \0 \0 \0 4 200 004 \b
0000100 4 200 004 \b 340 \0 \0 \0 340 \0 \0 \0 005 \0 \0 \0
.....�����ٲ�.......
|
�Q�γo�ӫ��O�A�i�H�N data file �Ϊ̬O binary file �����e��Ƶ��LŪ�X�ӳ�I
���MŪ�X���Ӽƭȹw�]�O�ϥΫD��r�ɡA��Y�O 16 �i�쪺�ƭȨ���ܪ��A
���L�A�ڭ��٬O�i�H�z�L -t c ���ѼƨӱN��Ƥ����r���H ASCII �������r������ܡA
���M���@��ϥΪ̨ӻ��A�o�ӫ��O���γB�i�ण�j�A���O���u�{�v�ӻ��A
�o�ӫ��O�i�H�N binary file �����e�@�@�Ӥj�P����X�A�L�̥i�H�ݱo�X�F�誺�ա� ^_^
�ק��ɮɶ��P�ظm�s�ɡG touch
�ڭ̦b ls �o�ӫ��O�����ЮɡA���y�L����C���ɮצb linux ���U���|�O���T�ӥD�n���ܰʮɶ��A
�x�I����T�Ӯɶ��O���T�өO�H
- modification time (mtime)�G�����ɮת��y���e��ơz�ܧ�ɡA�N�|��s�o�Ӯɶ��I
���e��ƫ����O�ɮת����e�A�Ӥ��O�ɮת��ݩʳ�I
- status time (ctime)�G�����ɮת��y���A (status)�z���ܮɡA�N�|��s�o�Ӯɶ��A�|�Ҩӻ��A
���O�v���P�ݩʳQ���F�A���|��s�o�Ӯɶ��ڡ�
- access time (atime)�G���y���ɮת����e�Q���Ρz�ɡA�N�|��s�o��Ū���ɶ� (access)�C
�|�Ҩӻ��A�ڭ̨ϥ� cat �hŪ�� ~/.bashrc �A�N�|��s atime �F�C
�o�O�Ӯ����쪺�{�H�A�|�Ҩӻ��A�ڭ̨Ӭݤ@�ݱz�ۤv�� /etc/man.config �o���ɮת��ɶ��a�I
[root@linux ~]# ls -l /etc/man.config
-rw-r--r-- 1 root root 4506 Apr 8 19:11 /etc/man.config
[root@linux ~]# ls -l --time=atime /etc/man.config
-rw-r--r-- 1 root root 4506 Jul 19 17:53 /etc/man.config
[root@linux ~]# ls -l --time=ctime /etc/man.config
-rw-r--r-- 1 root root 4506 Jun 25 08:28 /etc/man.config
|
�ݨ�F�ܡH�b�w�]�����p�U�A ls ��ܥX�Ӫ��O���ɮת� mtime �A�]�N�O�o���ɮת����e�W���Q��ʪ��ɶ��C
�ܩ�ڪ��t�άO�b 6/25 ���ɭԦw�˪��A�]���A�o���ɮ׳Q���ͦ��O���A�Q��ʪ��ɶ��N�^���쨺�Ӯɶ��I�F�I
���ٰO�o���ڭ̨ϥΪ��d�ҷ����A���ϥΨ�o���ɮװڡA�ҥH�ڡA�L�� atime �N�|�ܦ����ϥΪ��ɶ��F�I
�ɮת��ɶ��O�ܭ��n���A�]���A�p�G�ɮת��ɶ��~�P���ܡA�i��|�y���Y�ǵ{���L�k���Q���B�@��
OK�I����U�@�ڵo�{�F�@���ɮרӦۥ���(�K�K�I���n�h�áI�ܦh�ɭԷ|���o�Ӱ��D���I�o�ӧڭ̦b�w�˪��ɭԡA
���쪺 GMT �ɶ��N�O���ӷN��ա�)�A���Ӧp�������ɮת��ɶ��ܦ��y�{�b�z���ɨ�O�H
��²��ڡI�N�Ρytouch�z�o�ӫ��O�Y�i�I
[root@linux ~]# touch [-acdmt] �ɮ�
�ѼơG
-a �G�ȭq access time�F
-c �G�ȭק�ɶ��A�Ӥ��إ��ɮסF
-d �G�᭱�i�H������A�]�i�H�ϥ� --date="����ήɶ�"
-m �G�ȭק� mtime �F
-t �G�᭱�i�H���ɶ��A�榡��[YYMMDDhhmm]
�d�ҡG
�d�Ҥ@�G�s�ؤ@�ӪŪ��ɮ�
[root@linux ~]# cd /tmp
[root@linux tmp]# touch testtouch
[root@linux tmp]# ls -l testtouch
-rw-r--r-- 1 root root 0 Jul 19 20:49 testtouch
# �`�N��A�o���ɮת��j�p�O 0 �O�I�b�w�]�����A�U�A�p�G touch �᭱�����ɮסA
# �h���ɮת��T�Ӯɶ� (atime/ctime/mtime) ���|��s���ثe���ɶ��C�Y���ɮפ��s�b�A
# �h�|�D�ʪ��إߤ@�ӷs���Ū��ɮ׳�I�Ҧp�W���o�ӨҤl�I
�d�ҤG�G�N ~/.bashrc �ƻs���� bashrc�A���]�ƻs�������ݩʡA�ˬd����
[root@linux tmp]# cp ~/.bashrc bashrc
[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rwxr-xr-x 1 root root 395 Jul 4 11:45 bashrc <==�o�O mtime
-rwxr-xr-x 1 root root 395 Jul 19 20:44 bashrc <==�o�O atime
-rwxr-xr-x 1 root root 395 Jul 19 20:53 bashrc <==�o�O ctime
# �b�o�Ӯרҷ����A�ڭ̨ϥΤF ; �o�ӫ��O���j�Ÿ��A�L���Ϊk�ڭ̷|�b Bash shell ������C
# ���~�A ll �O ls -l ���R�O�O�W�A�o�ӧڭ̤]�|�b bash shell �����A�����ΡA
# �z�ثe�i�H²�檺�Q���A ll �N�O ls -l ��²�g�Y�i�I�ܩ� ; �h�O�P�ɤU�F��ӫ��O�A
# �B����ӫ��O�y�̧ǡz���檺�N��C�W�������G�����ڭ̥i�H�ݨ�A���ɮ��ܧ��
# Jul 4 11:45�A���O atime �P ctime ���@���o��
�d�ҤT�G�ק�רҤG�� bashrc �ɮסA�N����վ㬰��ѫe
[root@linux tmp]# touch -d "2 days ago" bashrc
[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rwxr-xr-x 1 root root 395 Jul 17 21:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 17 21:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 19 21:02 bashrc
# ��W�ӽd�Ҥ���ݬݡA���ӬO 19 �骺�ܦ��F 17 ��F (atime/mtime)��
# ���L�A ctime �èS����ۧ��ܳ�I
�d�ҥ|�G�N�W�ӽd�Ҫ� bashrc ����אּ 2005/07/15 2:02
[root@linux tmp]# touch -t 0507150202 bashrc
[root@linux tmp]# ll bashrc; ll --time=atime bashrc; ll --time=ctime bashrc
-rwxr-xr-x 1 root root 395 Jul 15 02:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 15 02:02 bashrc
-rwxr-xr-x 1 root root 395 Jul 19 21:05 bashrc
# �`�N�ݬݡA����b atime �P mtime �����ܤF�A���O ctime �h�O�O���ثe���ɶ��I
|
�z�L touch �o�ӫ��O�A�ڭ̥i�H�������q�ɮת�����P�ɶ��C�åB�A�]�i�H�إߤ@�ӪŪ��ɮ׳�I
���L�A�n�`�N���O�A�Y�ϧڭ̽ƻs�@���ɮɡA�ƻs�Ҧ����ݩʡA���]�S����k�ƻs ctime �o���ݩʪ��C
ctime �i�H�O���o���ɮ׳̪��A (status) �Q���ܪ��ɶ��C�L�צp��A�٬O�n�i���j�a�A
�ڭ̥��ɬݪ��ɮ��ݩʤ��A������n���٬O�ݩ� mtime �ڡI�ڭ����ߪ��`�`�O�o���ɮת��y���e�z
�O����ɭԳQ��ʪ������A�G�H
�L�צp��A touch �o�ӫ��O�̱`�Q�ϥΪ����p�O�G
- �إߤ@�ӪŪ��ɮסF
- �N�Y���ɮפ���q���ثe (mtime �P atime)
�ѫe�@����
Linux �ɮ��ݩ�
�����e�ڭ̥i�H���D�@���ɮצ��Y�z���ݩʡA�]�A ( r, w, x ) �����ݩʡA�άO�_���ؿ� (d) �P�ɮ� (-)
�Ϊ̬O�s���� (l) �������ݩʡI����n�ק��ݩʪ���k�b�e���]�������L�F�A�o�̦A�[�j�ɥR�@�U�I
���~�A�ѩ� Linux �٥i�H�]�w��L���t�Φw���ݩʡA�ϥ� chattr �ӳ]�w�A�ӥH lsattr
�Ӭd�ݡA�̭��n���ݩʴN�O�i�H�]�w�䤣�i�ק諸�S�ʡI���s�ɮת��֦��̳�����i��ק�I
�o���ݩʥi�O�۷����n���A�ר�O�b�w������W�� ( security )�I
�����A���ӽƲߤ@�U�W�@���ͨ쪺�v�������A�N���U�����D�ݤ@�ݥ���
���D�G�G�A���t�Φ��Ӥ@�먭���ϥΪ� dmtsai�A�L���s�լ� users�A�L���a�ؿ��b /home/dmtsai�A
�A�Q�N�A�� ~/.bashrc �ƻs���L(���]�A�O root)�A�i�H���@�H
���Gcp ~/.bashrc ~dmtsai/bashrc
chown dmtsai:users ~dmtsai/bashrc
|
�b�W���o�ӽd�ҷ����A�ڬ��F���л\�� dmtsai �ۤv�� ~dmtsai/.bashrc �A�ҥH�N�ɦW��W�F��
�ӽƻs���L��A�٭n�ץ��o���ɮת��֦��̻P�s�դ~���I
���D�T�G�ڷQ�b /tmp ���U�إߤ@�ӥؿ��A�o�ӥؿ��W�٬� chap2_2_ex1 �A�åB�A�o�ӥؿ��֦��̬� dmtsai�A
�s�լ� users �A���~�A����H���i�H�i�J�ӥؿ��s���ɮסA���L���F dmtsai ���~�A��L�H������ק�ӥؿ��U���ɮסC
���G�]�����F dmtsai ���~�A��L�H����ק�ӥؿ��U���ɮסA���~�A dmtsai �i�H�ק�A
�ҥH��ӥؿ����v�����ӬO drwxr-xr-x �~��I�]��
mkdir /tmp/chap2_2_ex1
chown -R dmtsai:users /tmp/chap2_2_ex1
chmod -R 755 /tmp/chap2_2_ex1
|
�b�W���o�Ө��D�����A�p�G�z���D 755 ���Ӥ��ƬO���p��X�Ӫ��A����z���ӹ���v�����@�w�{�ת������F�C
�p�G�z�����D 755 ���Ӫ��H����.....���֦^�h�e�@���ݬ�
chmod
���ӫ��O�����г����ڡI�o�����ܭ��n��I�z�o�n���M�����A�Ѩ�~���_�h�N�i�椣�U�h�o��
���]�z����v�����{�Ѫ��t���h�F�A���U�ڭ̴N�n�ӽͤ@�͡A
�y�s�W�@���ɮשΥؿ��ɡA�w�]���v���O����H�z�o��ij�D�I
�ɮw�]�v���Gumask
OK�I����{�b�ڭ̪��D�p��إߩΪ̬O���ܤ@�ӥؿ����ɮת��ݩʤF�A���L�A
�z���D���A�إߤ@�ӷs���ɮשΥؿ��ɡA�L���w�]�ݩʷ|�O����ܡH�����I���N�P umask
�o�Ӫ��N����F�I���� umask �O�b�d����O�H�W�A umask �N�O���w
�y
�ثe�ϥΪ̦b�إ��ɮשΥؿ��ɭԪ��ݩʹw�]���z�A
����p��o���γ]�w umask �O�H�L�����w����H���U���覡�ӫ��w�G
[root@linux ~]# umask
0022
[root@linux ~]# umask -S
u=rwx,g=rx,o=rx
|
�d�\���覡����ءA�@�إi�H������J umask �A�N�i�H�ݨ�Ʀr���A���v���]�w���ơA
�@�ثh�O�[�J -S (Symbolic) �o�ӰѼơA�N�|�H�Ÿ��������覡����ܥX�v���F�I
�_�Ǫ��O�A��� umask �|���|�ռƦr�ڡH���O�u���T�նܡH�O�S���ա�
�Ĥ@�լO�S���v���Ϊ��A�ڭ̥����n�z�L�A�ҥH���ݫ᭱�T�էY�i�C
�b�w�]�v�����ݩʤW�A�ؿ��P�ɮO���@�˪��C�ѩ��ɮקڭ̤��Ʊ�L�㦳�i���檺�v�O�A
�w�]���p���A�ɮO�S���i���� (x) �v�����C�]���G
- �Y�ϥΪ̫إ߬��y�ɮסz�h�w�]�y�S���i���� ( x ) ���ءz�A��Y�u�� rw �o��Ӷ��ءA�]�N�O�̤j��
666 ���A�w�]�ݩʦp�U�G
-rw-rw-rw-
- �Y�ϥΪ̫إ߬��y�ؿ��z�A�h�ѩ� x �P�O�_�i�H�i�J���ؿ������A�]���w�]���Ҧ��v�����}��A��Y��
777 ���A�w�]�ݩʦp�U�G
drwxrwxrwx
���� umask ���w���O�y
�ӹw�]�Ȼݭn����v���I�z�]��
r�Bw�Bx ���O�O 4�B2�B1 ���A�ҥH�o�I�]�N�O���A���n������g���v���A�N�O��J 2
���A�Ӧp�G�n������Ū���v���A�]�N�O 4 ���A����n����Ū�P�g���v���A�]�N�O 6
���A�ӭn��������P�g�J���v���A�]�N�O 3 ���A�o���A�ѶܡH�аݱz�A 5 ���O����H�����I
�N�OŪ�P���檺�v���աI�p�G�H�W�����Ҥl�ӻ������ܡA�]�� umask �� 022 �A�ҥH user
�èS���Q�����ݩʡA���L group �P others ���ݩʳQ�����F 2 ( �]�N�O w �o���ݩ� )�A����ѩ���ϥΪ̡G
- �إ��ɮɡG(-rw-rw-rw-) �V (-----w--w-) ==> -rw-r--r--
- �إߥؿ��ɡG(drwxrwxrwx) �V (d----w--w-) ==> drwxr-xr-x
���۫H�ܡH�ڭ̴N�Ӵ��լݬݧa�I
[root@linux ~]# umask
0022
[root@linux ~]# touch test1
[root@linux ~]# mkdir test2
[root@linux ~]# ll
-rw-r--r-- 1 root root 0 Jul 20 00:36 test1
drwxr-xr-x 2 root root 4096 Jul 20 00:36 test2
|
�����I�@���F�a�H�I�T�w�ݩʬO�S�������C�n�F�A���p�ڭ̷Q�n���P�ϥΪ̦P�s�ժ��H�]�i�H�s���ɮשO�H
�]�N�O���A���p dmtsai �O users �o�Ӹs�ժ��H�A�� dmtsai �@���ɮקƱ��� users �P�s�ժ��H�]�i�H�s���A
�o�]�O�`�`�Q�Φb�ζ��}�o�p�e�ɡA�`�`�|�Ҽ{�쪺�v�����D�C�b�o�˪����p�U�A
�ڭ̪� umask �۵M������� group �� w �v���A�]�N�O���A�ڭ̧Ʊ�s�@�X�Ӫ��ɮ����ӬO -rw-rw-r--
���ҼˡA�ҥH�o�A umask ���ӬO�n 002 �~�n (�Ȯ��� others �� w �v��)�C����p��]�w umask �O�H
²�檺�ܡA�����b umask �᭱��J 002 �N�n�F�I
[root@linux ~]# umask 002
[root@linux ~]# touch test3
[root@linux ~]# mkdir test4
[root@linux ~]# ll
-rw-rw-r-- 1 root root 0 Jul 20 00:41 test3
drwxrwxr-x 2 root root 4096 Jul 20 00:41 test4
|
�ҥH���A�o�� umask ����ɮP�ؿ����w�]�v���O�ܦ����Y���I�o�ӷ����i�H�Φb������A���W���A
�ר�O���Ӧb�z�[�]�ɮצ��A�� (file server) �A�|�Ҩӻ��A
SAMBA Server �Ϊ̬O
FTP server �ɡA
���O�ܭ��n���[���I�o�o�A��z���ϥΪ̬O�_����N�ɮi�@�B�Q�Ϊ����D��I���n���������I
���D�|�G���]�z�� umask �� 003 �A�аݸ� umask ���p�U�A�إߪ��ɮP�ؿ��v�����H
���G
umask �� 003 �A�ҥH�������ݩʬ� --------wx�A�]���G
�ɮסG (-rw-rw-rw-) - (--------wx) = -rw-rw-r--
�ؿ��G (drwxrwxrwx) - (--------wx) = drwxrwxr--
|
���� umask �P�v�����p��覡���A�Ь�ѳ��w�ϥΤG�i�쪺�覡�Ӷi�� AND �P NOT ���p��A
���L�A�����٬O������w�ϥβŸ��覡�ӭp����p�Q�W������e���@�I��
���O�A�������y�Ϊ̬O BBS �W�����B�͡A�����H���w�ϥ��ɮw�]�ݩ� 666 �P�ؿ��w�]�ݩ�
777 �ӻP umask �i��۴�p���o�O���n����I�H�W�����D�|���רҨӬݡA
�p�G�ϥιw�]�ݩʬۥ[��A�h�ɮ��ܦ��G666-003=663�A��Y�O -rw-rw--wx �A�o�i�O�������諸��I
�Q�Q�ݡA�쥻�ɮ״N�w�g�h�� x ���w�]�ݩʤF�A���i���M���_�X�ӤF�H
�ҥH�A�o�Ӧa��o�n�S�O�p�߳�I
�b�w�]�����p���A root �� umask �|��������h���ݩʡAroot �� umask �w�]�O 022 �A
�o�O���w�����Ҷq�ա�ܩ�@�먭���ϥΪ̡A�q�`�L�̪� umask �� 002 �A��Y�O�d�P�s�ժ��g�J�v�O�I
���A����w�] umask ���]�w�i�H�Ѧ� /etc/bashrc �o���ɮת����e�A���L�A����ij�ק���ɮסA
�z�i�H�Ѧ� bash shell ���쪺���ҰѼƳ]�w�� (~/.bashrc) ��������o�����ڭ̦b�ĤT�����ɭԷ|����I
�ɮ������ݩʡG
����H�ɮ��٦������ݩʡH���O���E���v���N�֭n�Ʊ��F�A���M�٦������ݩʡA�u�O�n�R��
���O�S��k�A�N�O���ɮת������ݩʦs�b�ڡI���L�A�o�����ê��ݩʽT����t�Φ��ܤj�����U����
�ר�O�b�t�Φw�� (Security) �W���A���n����O�I���U�ڭ̴N�ӽͤ@�ͦp��]�w�P�ˬd�o�����ê��ݩʧa�I
chattr (�]�w�ɮ������ݩ�)
[root@linux ~]# chattr [+-=][ASacdistu] �ɮשΥؿ��W��
�ѼơG
+ �G�W�[�Y�@�ӯS���ѼơA��L�쥻�s�b�Ѽƫh���ʡC
- �G�����Y�@�ӯS���ѼơA��L�쥻�s�b�Ѽƫh���ʡC
= �G�]�w�@�w�A�B�Ȧ��᭱�����Ѽ�
A �G���]�w�F A �o���ݩʮɡA�o���ɮ�(�Υؿ�)���s���ɶ� atime (access)
�N���i�Q�ק�A�i�קK�Ҧp�ⴣ���q���e�����Ϻ� I/O ���~�����p�o�͡I
S �G�o�ӥ\��I���� sync ���\��I�N�O�|�N��ƦP�B�g�J�Ϻз����I
�i�H���Ī��קK��Ƭy���I
a �G���]�w a ����A�o���ɮױN�u��W�[��ơA�Ӥ���R���A�u�� root
�~��]�w�o���ݩʡC
c �G�o���ݩʳ]�w����A�N�|�۰ʪ��N���ɮסy���Y�z�A�bŪ�����ɭԱN�|�۰ʸ����Y�A
���O�b�x�s���ɭԡA�N�|���i�����Y��A�x�s(�ݨӹ��j�ɮצ��G�Z���Ϊ��I)
d �G��dump(�ƥ�)�{�dzQ���檺�ɭԡA�]�w d �ݩʱN�i�ϸ��ɮ�(�Υؿ�)���㦳dump�\��
i �G�o�� i �i�N�ܼF�`�F�I�L�i�H���@���ɮסy����Q�R���B��W�B�]�w�s���]�L�k�g�J
�ηs�W��ơI�z���t�Φw���ʦ��۷��j���U�q�I
j �G���ϥ� ext3 �o���ɮרt�ή榡�ɡA�]�w j �ݩʱN�|���ɮצb�g�J�ɥ��O���b
journal ���I���O�� filesystem �]�w�ѼƬ� data=journalled �ɡA�ѩ�w�g�]�w�F
��x�F�A�ҥH�o���ݩʵL�ġI
s �G���ɮ׳]�w�F s �ѼƮɡA�L�N�|�Q�����������X�o�ӵw�ЪŶ��C
u �G�P s �ۤϪ��A���ϥ� u �ӳ]�w�ɮɡA�h��Ƥ��e����٦s�b�ϺФ��A
�i�H�ϥΨ� undeletion.
�`�N�G�o���ݩʳ]�w�W���A����`�����O a �P i ���]�w�ȡA�ӥB�ܦh�]�w�ȥ����n����
root �~����]�w����I
�d�ҡG
[root@linux ~]# cd /tmp
[root@linux tmp]# touch attrtest
[root@linux tmp]# chattr +i attrtest
[root@linux tmp]# rm attrtest
rm: remove write-protected regular empty file `attrtest'? y
rm: cannot remove `attrtest': Operation not permitted
# �ݨ�F�ܡH�I�I�I�s root �]�S����k�N�o���ɮקR���O�I����Ѱ��]�w�I
[root@linux tmp]# chattr -i attrtest
|
�o�o�ӫ��O�O���n���A�ר�O�b�t�Ϊ��w���ʤW���I�ѩ�o���ݩʬO���ê��ʽ�A�ҥH�ݭn�H
lsattr �~��ݨ���ݩ���I�䤤�A�ӤH�{���̭��n������ +i
�o���ݩʤF�A�]���L�i�H���@���ɮL�k�Q��ʡA���ݭn�j�P���t�Φw�����H�ӻ��A
�u�O�۷������n���I���Y�٦��۷��h���ݩʬO�ݭn root �~��]�w���O�I���~�A�p�G�O
log file �o�ت��n���ɡA�N��ݭn +a �o�ӥi�H�W�[�A���O����ק��¦�����ƻP�R�����ѼƤF�I
��ˡH�ܴΧa�I���Ӵ���n���ɪ��{���ɡA�ڭ̦A�Ӳ�@��p��]�w�L�a�I
lsattr (����ɮ������ݩ�)
[root@linux ~]# lsattr [-aR] �ɮשΥؿ�
�ѼơG
-a �G�N�����ɪ��ݩʤ]�q�X�ӡF
-R �G�s�P�l�ؿ�����Ƥ]�@�֦C�X�ӡI
�d�ҡG
[root@linux tmp]# chattr +aij attrtest
[root@linux tmp]# lsattr
----ia---j--- ./attrtest
|
�ϥ� chattr �]�w��A�i�H�Q�� lsattr �Ӭd�\���ê��ݩʡC���L�A
�o��ӫ��O�b�ϥΤW�����n�S�O�p�ߡA�_�h�|�y���ܤj���x�Z�C�Ҧp�G�Y�ѧA�߱��n�A��M�N
/etc/shadow �o�ӭ��n���K�X�O���ɮ��L�]�w�����㦳 i ���ݩʡA����L�F�Y�z�Ѥ���A
�A��M�n�s�W�ϥΪ̡A�o�@���L�k�s�W�I�O�h�áA���֥h�N i ���ݩʮ����a�I
�ɮׯS���v���G
SUID/SGID/Sticky Bit
�ڭ̫e���@�����������ɮת����n�v���A���N�O rwx �o�T��Ū�B�g�B���檺�v���C
���O�A���y���B�̤ͭ@�w�`�N��F�@��ơA���N�O�A���ڭ̪� /tmp �v���ǩǪ��H
�٦��A���� /usr/bin/passwd �]�ǩǪ��H���^�ưڡH�ݬݥ��G
[root@linux ~]# ls -ld /tmp ; ls -l /usr/bin/passwd
drwxrwxrwt 5 root root 4096 Jul 20 10:00 /tmp
-r-s--x--x 1 root root 18840 Mar 7 18:06 /usr/bin/passwd
|
���O�u�� rwx �ܡH�٦���L���S���v���ڡH��.....�Y�S�}�l���F�� @_@
�����A���n��߰աA�ڭ̳o�̥����ͳo����v���A�u�O�����Ф@�U�Ӥw�C
�]���n�A�ѳo�X�ӯS�����v���A�����n���㦳�b���� ID �����A�H�ε{�����{�� (process) ������A
�~����i�@�B���A�ѳo�ӯS���v���ҥN�����N�q�C
Set UID
�|�s�@�X s �P t ���v���A�O���F���@��ϥΪ̦b����Y�ǵ{�����ɭԡA
����Ȯɪ��㦳�ӵ{���֦��̪��v���C
�|�Ҩӻ��n�F�A�ڭ̪��D�b���P�K�X���s���ɮר��O /etc/passwd �P /etc/shadow �C
�� /etc/shadow �o���ɮת��v���O����H�O�y-r--------�z�C�B�L���֦��̬O root
��I�b�o���v�����A�Ȧ� root �i�H�y�j��z�x�s�A��L�H�O�s�ݳ��S����k�ݪ��o�I
���O���������ϥ� dmtsai �o�Ӥ@�먭���ϥΪ̥h��s�ۤv���K�X�ɡA�ϥΪ��N�O /usr/bin/passwd �o�ӵ{���A
�o�O�i�H��s�ۤv���K�X���A�]�N�O���A dmtsai �o�Ӥ@�먭���ϥΪ̥i�H�s�� /etc/shadow �o�ӱK�X�ɡI
���I���i��H���� /etc/shadow �N�O�S�� dmtsai �i�H�s�����v���ڡI������o�N�O s �o���v�������U�աI
�� s �o���v���b user �� x �ɡA�]�N�O�����W���� -r-s--x--x �A�٬� Set UID �A²�٬� SUID �A
�o�� UID �N�����O User �� ID �A�� User �N�����h�O�o�ӵ{�� (/usr/bin/passwd) ���֦��� (root �ڡI)�C
����ѤW�����w�q���A�ڭ̪��D�F�A�� dmtsai �o�ӨϥΪ̰��� /usr/bin/passwd
�ɡA�L�N�|�y�Ȯɡz���o���ɮ֦��H root ���v���C
SUID �ȥi�Φb�y�G�i����ɮ�(binary file)�z�W�A
SUID �]���O�{���b���檺�L�{���֦��ɮ֦��̪��v���A�]���A�L�ȥi�Ω� binary file �A
������Φb�妸�� (shell script) �W�����I�o�O�]�� shell script �u�O�N�ܦh�� binary
�����ɥs�i�Ӱ���Ӥw�I�ҥH SUID ���v�������A�٬O�o�n�� shell script �I�s�i�Ӫ��{�����]�w�A
�Ӥ��O shell script �����C���M�ASUID ���ؿ��]�O�L�Ī���o�I�n�S�O�d�N�C
Set GID
�i�@�B�ӻ��A�p�G s ���v���O�b group �ɡA����N�O Set GID �A²�٬� SGID�C
SGID �i�H�Φb��ӳ�����I
- �ɮ��G�p�G SGID �O�]�w�b binary file �W���A�h���רϥΪ̬O�֡A�b����ӵ{�����ɭԡA
�L�����ĸs�� (effective group) �N�|�ܦ��ӵ{�����s�թҦ��H (group id)�C
- �ؿ��G�p�G SGID �O�]�w�b A �ؿ��W���A�h�b�� A �ؿ����ҫإߪ��ɮשΥؿ��� group �A�N�|�O
�� A �ؿ��� group �I
�@��ӻ��A SGID ���ӬO����h�Φb�S�w���h�H�ζ����M�}�o�W�A
�b�t�η������ӷ|����ֳo�ӳ]�w�~���
Sticky Bit
�o�� Sticky Bit �ثe�u�w��ؿ����ġA����ɮפw�g�S���ĪG�F�C
SBit ���ؿ����@�άO�G�y
�b�㦳 SBit ���ؿ��U�A�ϥΪ̭Y�b�ӥؿ��U�㦳 w �� x ���v���A
�h���ϥΪ̦b�ӥؿ��U�إ��ɮשΥؿ��ɡA�u���ɮ֦��̻P
root �~���v�O�R���z�C���y�ܻ��G���ҳo�ӨϥΪ̩� A �ؿ��U�O�֦� group �Ϊ̬O other �����ءA�åB�֦� w ���v���A
�o���ܡy�ҨϥΪ̹�ӥؿ�������H�إߪ��ؿ����ɮק��i�i�� "�R��/��W/�h��" ���ʧ@�C�z
���L�A
�p�G�N A �ؿ��[�W�F Sticky bit ���v�����خɡA
�h�ҥu����w��ۤv�إߪ��ɮשΥؿ��i��R��/��W/���ʵ��ʧ@�C
�|�Ҩӻ��A�ڭ̪� /tmp �������v���O�ydrwxrwxrwt�z�A
�b�o�˪��v�����e�U�A����H���i�H�b /tmp ���s�W�B�ק��ɮסA���Ȧ����ɮ�/�ؿ��إߪ̻P root
����R���ۤv���ؿ����ɮסC�o�ӯS�ʤ]�O�����n���ڡI�A�i�H�o�˰���²�檺���աG
1. �H root �n�J�t�ΡA�åB�i�J /tmp �����F
2. touch test�A�åB��� test �v������ 777 �F
3. �H�@��ϥΪ̵n�J�A�öi�J /tmp�F
4. ���էR�� test �o���ɮסI
��h���� SUID/SGID/Sticky Bit �����СA�ڭ̷|�b
�{�ǻP�귽�z
���A�����Ϊ��A�ثe�A�z������²�檺��¦�����N�n�F�I���M�A�]�i�H�Ѧҳ���Q�װϪ��o�@�g�Q�סG
http://phorum.vbird.org/viewtopic.php?t=20256
SUID/SGID/SBIT �v���]�w
�e�����йL SUID �P SGID ���\��A����p��}���ɮרϦ����㦳 SUID �P SGID ���v���O�H�I
�o�N�ݭn��誺�Ʀr����v������k�F�I�{�b�A���Ӥw�g���D�Ʀr���A�ӧ���v���覡���y�T�ӼƦr�z���զX�A
����p�G�b�o�T�ӼƦr���e�A�[�W�@�ӼƦr���ܡA���̫e�����Ʀr�N�N���o�X���ݩʤF�I
(
���G�q�`�ڭ̨ϥ� chmod xyz filename ���覡�ӳ]�w filename
���ݩʮɡA�h�O���]�S�� SUID, SGID �� Sticky bit �աI )
- 4 �� SUID
- 2 �� SGID
- 1 �� Sticky bit
���]�n�N�@���ɮ��ݩʧאּ�y-rwsr-xr-x�z�ɡA�ѩ� s �b�ϥΪ��v�����A�ҥH�O SUID �A�]���A
�b����� 755 ���e�٭n�[�W 4 �A�]�N�O�G�y chmod 4755 filename �z�ӳ]�w�I���~�A�٦��j S �P�j
T �����ͳ�I�Ѧҩ��U���d�ҰաI(
�`�N�G���U���d�ҥu�O�m�ߦӤw�A
�ҥH�����ϥΦP�@���ɮרӳ]�w�A�z�����A��
SUID ���O�Φb�ؿ��W�A�� SBIT ���O�Φb�ɮפW����I)
[root@linux ~]# cd /tmp
[root@linux tmp]# touch test
[root@linux tmp]# chmod 4755 test; ls -l test
-rwsr-xr-x 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 6755 test; ls -l test
-rwsr-sr-x 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 1755 test; ls -l test
-rwxr-xr-t 1 root root 0 Jul 20 11:27 test
[root@linux tmp]# chmod 7666 test; ls -l test
-rwSrwSrwT 1 root root 0 Jul 20 11:27 test
# �o�ӨҤl�N�n�S�O�p�߰աI���|�X�{�j�g�� S �P T �O�H�����O�p�g���ܡH
# �]�� s �P t ���O���N x �o�ӰѼƪ��A���O�A���S���o�{���A�ڭ̬O�U�F
# 7666 ��I�]�N�O���A user, group �H�� others ���S�� x �o�ӥi���檺�лx
# ( �]�� 666 ���I )�A�ҥH�A�o�� S, T �N�����N�O�y�Ū��z�աI��H
# SUID �O���ܡy���ɮצb���檺�ɭԡA�㦳�ɮ֦��̪��v���z�A���O�ɮ�
# �֦��̳��L�k����F�A���̨Ӫ��v������L�H�ϥΡH���M�N�O�Ū��աI ^_^
|
�ɮ������Gfile
�p�G�A�Q�n���D�Y���ɮת���ơA�Ҧp�O�ݩ� ASCII �Ϊ̬O data �ɮסA�Ϊ̬O binary �A
�B�䤤���S���ϥΨ�ʺA�禡�w (share library) ��������T�A�N�i�H�Q�� file �o�ӫ��O���˾\��I
�|�Ҩӻ��G
[root@linux ~]# file ~/.bashrc
/root/.bashrc: ASCII text <== �i�D�ڭ̬O ASCII ���¤�r�ɰڡI
[root@linux ~]# file /usr/bin/passwd
/usr/bin/passwd: setuid ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
# ��ƥi�h�F��]�A�o�Ӥ� Set UID 2���ɮסA�ϥ� shared libs�A
# �A�X�� Intel �� 386 �H�W���ت��w��A�ܲM���a�I
[root@linux ~]# file /var/lib/slocate/slocate.db
/var/lib/slocate/slocate.db: data <== �o�O data �ɮסI
|
�z�L�o�ӫ��O�A�ڭ̥i�H²�檺���P�_�o���ɮת��榡�����I
�ɮת��j�M�i�N�F�`�F�I�]���ڭ̱`�`�ݭn���D�����ɮש�b���̡A�ҥH�ӽͤ@�ͫ��j�M�a�I�b
Linux ���U�]���۷��u�����j�M�t����I�q�` find ���ܱ`�Ϊ��I�]���t�C���~�A�]�ܾw�СI�q�`�ڭ̳��O���ϥ�
whereis �Ϊ̬O locate ���ˬd�A�p�G�u���䤣��F�A�~�H find �ӷj�M��I������O�H�]��
whereis �P locate �O�Q�θ�Ʈw�ӷj�M��ơA�ҥH�۷����ֳt�A�ӥB�èS����ڪ��j�M�w�СA����ٮɶ��աI
which (�M��y�����ɡz)
[root@linux ~]# which [-a] command
�ѼơG
-a �G�N�Ҧ��i�H��쪺���O���C�X�A�Ӥ���Ĥ@�ӳQ��쪺���O�W��
�d�ҡG
[root@linux ~]# which passwd
/usr/bin/passwd
[root@linux ~]# which traceroute -a
/usr/sbin/traceroute
/bin/traceroute
|
�o�ӫ��O�O�ھڡy
PATH�z�o�������ܼƩҳW�d�����|�A�h�j�M�y�����ɡz���ɦW��
�ҥH�A���I�O��X�y�����ɡz�Ӥw�I�B which �᭱�����O�y�����ɦW�z��I�Y�[�W -a
�ѼơA�h�i�H�C�X�Ҧ����i�H��쪺�P�W�����ɡA�ӫD����ܲĤ@�ӦӤw�I
whereis (�M��S�w�ɮ�)
[root@linux ~]# whereis [-bmsu] �ɮשΥؿ��W
�ѼơG
-b :�u�� binary ���ɮ�
-m :�u��b������ manual ���|�U���ɮ�
-s :�u�� source �ӷ��ɮ�
-u :�S�������ɪ��ɮסI
�d�ҡG
[root@linux ~]# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
/usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
# ����P passwd �������ɦW���|�Q�C�X�ӡ�
[root@linux ~]# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd /etc/passwd.OLD
[root@linux ~]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz
|
���@�U�ڭ̷|���� find �o�ӷj�M���O�A find �O�ܱj�j���j�M���O�A���ɶ���Ϊ��ܤj�I
(�]�� find �O�����j�M�w�СA���p�G�A���w�Ф�����ª��ܡA�K�K�I���������I)
�o�Ӯɭ� whereis �N�۷����n�ΤF�I�t�~�A whereis �i�H�[�J�Ѽƨӧ�M��������ơA
�Ҧp�p�G�A�O�n��i������ ( binary ) ����[�W -b �N�i�H�աI�Ҧp�W�����d�Ұw�� passwd
�o��{���ӻ����I�p�G���[����Ѽƪ��ܡA����N�N�Ҧ�����ƦC�X���o�I
���� whereis �쩳�O�ϥΤ���N�N�O�H����j�M���t�|�� find �ֳo��h�H�I
���]�S������I�o�O�]�� Linux �t�η|�N�t�Τ����Ҧ��ɮ׳��O���b�@�Ӹ�Ʈw�ɮ̭��A
�ӷ��ϥ� whereis �Ϊ̬O���U�n���� locate �ɡA���|�H����Ʈw�ɮת����e���ǡA
�]���A�����ɫ�A�ٷ|�o�{�ϥγo��Ӱ����ɮɡA�|���w�g�Q�������ɮסI
�ӥB�]�䤣��̷s�����إߪ��ɮשO�I
�o�N�O�]���o��ӫ��O�O�Ѹ�Ʈw���������G�h�j�M�ɮת��Ҧb�ڡI
�t�~�A�W Linux �C�ѷ|�w�� Linux �D���W�Ҧ��ɮת��Ҧb�i��j�M��Ʈw����s�A
��s���{���N�O updatedb �A�A�i�H�b FC4 �t�� /etc/cron.daily/slocate.cron
�o���ɮק�������������I���M�A�]�i�H�����ϥ� /usr/bin/updatedb �ӧ�s��Ʈw�ɮשO�I
locate
[root@linux ~]# locate filename
[root@linux ~]# locate passwd
/lib/security/pam_passwdqc.so
/lib/security/pam_unix_passwd.so
/usr/lib/kde3/kded_kpasswdserver.so
/usr/lib/kde3/kded_kpasswdserver.la
.......�����ٲ�.......
|
�o�� locate ���ϥΧ�²��A�����b�᭱��J�y�ɮת������W�١z��A�N����o�쵲�G�C
�|�W�����Ҥl�ӻ��A�ڿ�J locate passwd �A����b�����ɦW (�]�t���|�W��) �����A�u�n�� passwd �b�䤤�A
�N�|�Q��ܥX�Ӫ��I�o�]�O�ӫܤ�K�n�Ϊ����O�A�p�G�z�ѰO�Y���ɮת������ɦW�ɡ��
���O�A�o�ӪF���٬O���ϥΤW��������I������O�H�z�|�o�{�ϥ� locate �ӴM���ƪ��ɭԯS�O���֡A
�o�O�]�� locate �M�䪺��ƬO�ѡy
�w�إߪ���Ʈw /var/lib/slocate/�z
�̭�����Ʃҷj�M�쪺�A�ҥH���Ϊ����b�h�w�з����s����ơA�����I���M�O�ܧֳt�o�I
������O�H�N�O�]���L�O�g�Ѹ�Ʈw�ӷj�M���A�Ӹ�Ʈw���إ߹w�]�O�b�C�Ѱ���@��
(�C�� distribution �����P�A FC4 �O�C�ѧ�s��Ʈw�@���I)�A�ҥH���z�s�إ߰_�Ӫ��ɮסA
�o�٦b��Ʈw��s���e�j�M���ɮסA���� locate �|�i�D�z�y�䤣��I�z�����I�]�������n��s��Ʈw�r�I
����ڨ쩳�n�إ߭��Ǹ�Ʈw�O�H�O�_�������n�إߡH���G���ݭn�A�o�ӮɭԡA
�A�i�H�ۤv��ܻݭn�إ��ɮ�Ʈw���ؿ��O�I�A�i�H�b /etc/updatedb.conf �o���ɮפ��]�w�C
��ij�z�ϥιw�]�ȴN�n�F�A���L�A�b /etc/updatedb.conf �̭��A�Ч�yDAILY_UPDATE=no�z�令
�yDAILY_UPDATE=yes�z�N�n�F�C�ܩ�ק諸��k����ڭ̲ĤT������ vi ��A�z�N�|��o�o��
���M�աA�]�i�H�ۦ��ʰ��� updatedb �Y�i�I
find
[root@linux ~]# find [PATH] [option] [action]
�ѼơG
1. �P�ɶ��������ѼơG
-atime n �Gn ���Ʀr�A�N�q���b n �Ѥ��e���y�@�Ѥ����z�Q access �L���ɮסF
-ctime n �Gn ���Ʀr�A�N�q���b n �Ѥ��e���y�@�Ѥ����z�Q change �L���A���ɮסF
-mtime n �Gn ���Ʀr�A�N�q���b n �Ѥ��e���y�@�Ѥ����z�Q modification �L���ɮסF
-newer file �Gfile ���@�Ӧs�b���ɮסA�N��O���A�u�n�ɮפ� file �٭n�s�A
�N�|�Q�C�X�ӡ�
2. �P�ϥΪ̩θs�զW�٦������ѼơG
-uid n �Gn ���Ʀr�A�o�ӼƦr�O�ϥΪ̪��b�� ID�A��Y UID �A�o�� UID �O�O���b
/etc/passwd �̭��P�b���W�ٹ������Ʀr�C�o�譱�ڭ̷|�b�ĥ|�g���СC
-gid n �Gn ���Ʀr�A�o�ӼƦr�O�s�զW�٪� ID�A��Y GID�A�o�� GID �O���b
/etc/group�A���������Чڭ̷|�ĥ|�g������
-user name �Gname ���ϥΪ̱b���W�ٳ�I�Ҧp dmtsai
-group name�Gname ���s�զW�ٳ�A�Ҧp users �F
-nouser �G�M���ɮת��֦��̤��s�b /etc/passwd ���H�I
-nogroup �G�M���ɮת��֦��s�դ��s�b�� /etc/group ���ɮסI
���z�ۦ�w�˳n��ɡA�ܥi��ӳn�骺�ݩʷ����èS���ɮ֦��̡A
�o�O�i��I�b�o�ӮɭԡA�N�i�H�ϥ� -nouser �P -nogroup �j�M�C
3. �P�ɮ��v���ΦW�٦������ѼơG
-name filename�G�j�M�ɮצW�٬� filename ���ɮסF
-size [+-]SIZE�G�j�M�� SIZE �٭n�j(+)�Τp(-)���ɮסC�o�� SIZE ���W�榳�G
c: �N�� byte�A k: �N�� 1024bytes�C�ҥH�A�n��� 50KB
�٭n�j���ɮסA�N�O�y -size +50k �z
-type TYPE �G�j�M�ɮת������� TYPE ���A�����D�n���G�@�륿�W�ɮ� (f),
�˸m�ɮ� (b, c), �ؿ� (d), �s���� (l), socket (s),
�� FIFO (p) ���ݩʡC
-perm mode �G�j�M�ɮ��ݩʡy��n����z mode ���ɮסA�o�� mode ������ chmod
���ݩʭȡA�|�Ҩӻ��A -rwsr-xr-x ���ݩʬ� 4755 �I
-perm -mode �G�j�M�ɮ��ݩʡy�����n�����n�A mode ���ݩʡz���ɮסA�|�Ҩӻ��A
�ڭ̭n�j�M -rwxr--r-- �A��Y 0744 ���ɮסA�ϥ� -perm -0744�A
���@���ɮת��ݩʬ� -rwsr-xr-x �A��Y 4755 �ɡA�]�|�Q�C�X�ӡA
�]�� -rwsr-xr-x ���ݩʤw�g�n�A�F -rwxr--r-- ���ݩʤF�C
-perm +mode �G�j�M�ɮ��ݩʡy�]�t���@ mode ���ݩʡz���ɮסA�|�Ҩӻ��A�ڭ̷j�M
-rwxr-xr-x �A��Y -perm +755 �ɡA���@���ɮ��ݩʬ� -rw-------
�]�|�Q�C�X�ӡA�]���L�� -rw.... ���ݩʦs�b�I
4. �B�~�i�i�檺�ʧ@�G
-exec command �Gcommand ����L���O�A-exec �᭱�i�A���B�~�����O�ӳB�z�j�M��
�����G�C
-print �G�N���G�C�L��ù��W�A�o�Ӱʧ@�O�w�]�ʧ@�I
�d�ҡG
�d�Ҥ@�G�N�L�h�t�ΤW�� 24 �p�ɤ�����ʹL���e (mtime) ���ɮצC�X
[root@linux ~]# find / -mtime 0
# ���� 0 �O���I�I0 �N���ثe���ɶ��A�ҥH�A�q�{�b�}�l�� 24 �p�ɫe�A
# ���ܰʹL���e���ɮ׳��|�Q�C�X�ӡI���p�G�O�T�ѫe�� 24 �p�ɤ��H
# find / -mtime 3 �A�N��O�����Ѥ��e�� 3*24 ~ 4*24 �p�ɤ���
# ���ܰʹL���ɮ׳��Q�C�X���N��I�P�� -atime �P -ctime ���Ϊk�ۦP�C
�d�ҤG�G�M�� /etc ���U���ɮסA�p�G�ɮפ���� /etc/passwd �s�N�C�X
[root@linux ~]# find /etc -newer /etc/passwd
# -newer �Φb�������ɮפ������s�����Y�O�ܦ��Ϊ��I
�d�ҤT�G�j�M /home ���U�ݩ� dmtsai ���ɮ�
[root@linux ~]# find /home -user dmtsai
# �o�ӪF��]�ܦ��Ϊ�����ڭ̭n��X����@�ӨϥΪ̦b�t�η������Ҧ��ɮɡA
# �N�i�H�Q�γo�ӫ��O�N�ݩ�Y�ӨϥΪ̪��Ҧ��ɮ׳���X�ӳ�I
�d�ҥ|�G�j�M�t�Τ����ݩ����H���ɮ�
[root@linux ~]# find / -nouser
# �z�L�o�ӫ��O�A�i�H�������N��X���Ǥ��ӥ��`���ɮסC
# �p�G����줣�ݩ�t�Υ���H���ɮɡA���n�Ӻ�i�A
# �����ɭԬO���`����ר�O�z���g�H��l�X�ۦ�sĶ�n��ɡC
�d�Ҥ��G��X�ɦW�� passwd �o���ɮ�
[root@linux ~]# find / -name passwd
# �Q�γo�� -name �i�H�j�M�ɦW�ڡI
�d�Ҥ��G�j�M�ɮ��ݩʬ� f (�@���ɮ�) ���ɮ�
[root@linux ~]# find /home -type f
# �o�� -type ���ݩʤ]�ܦ����U��I�ר�O�n��X���ǩDz����ɮסA
# �Ҧp socket �P FIFO �ɮסA�i�H�� find /var -type p �� -type s �ӧ�I
�d�ҤC�G�j�M�ɮ����t�� SGID/SUID/SBIT ���ݩ�
[root@linux ~]# find / -perm +7000
# �ҿת� 7000 �N�O ---s--s--t �A����u�n�t�� s �� t ���N�C�X�A
# �ҥH���M�n�ϥ� +7000 �A�ϥ� -7000 ���ܭn�t�� ---s--s--t ���Ҧ��T���v���A
# �]���A�N�O +7000 ���A�G�H
�d�ҤK�G�N�W�ӽd�ҧ�쪺�ɮרϥ� ls -l �C�X�ӡ�
[root@linux ~]# find / -perm +7000 -exec ls -l {} \;
# �`�N��A���� -exec �᭱�� ls -l �N�O�B�~�����O�A
# �Ө��� {} �N�����O�y�� find ��쪺���e�z���N���ҥH�A -exec ls -l {}
# �N�O�N�e����쪺�����ɮץH ls -l �C�X������ơI�ܩ� \; �h�O����
# -exec �����O�즹����N���N��O���A��ӫ��O���u���b
# -exec (�̭��N�O���O�U�F) \;
# �]�N�O���A-exec �̫�@�w�n�H \; �����~��I�o���A�ѤF�ܡH�I
�d�ҤE�G��X�t�Τ��A�j�� 1MB ���ɮ�
[root@linux ~]# find / -size +1000k
# ���M�b man page ����i�H�ϥ� M �P G ���O�N�� MB �P GB�A
# ���L�A�ͫo�դ��X�ӳo�ӥ\���ҥH�A�ثe���ӬO�Ȥ䴩�� c �P k �a�I
|
�p�G�A�n�M��@���ɮת��ܡA����ϥ� find �|�O�@�Ӥ������D�N�I
�L�i�H�ھڤ��P���Ѽƨӵ����ɮת��j�M�\��I�Ҧp�A�n�M��@���ɦW�� httpd.conf
���ɮסA�A���D�L���ӬO�b /etc ���U�A����N�i�H�ϥΡy find /etc -name httpd.conf �z�P�I
���p�G�A�O�o���@���ɮ��ɦW�]�t�F httpd �A���O�����D���W���H�I�����A�N�θU�Φr�� ��
�a�A�p�W�H�G�y find /etc -name '*httpd*' �z�N�i�N�ɦW�t�� httpd ���ɮ׳��C�X���o�I���L�A�ѩ�
find �b�M���ƪ��ɫ�۷����ӵw�СI�ҥH�S�Ʊ����n�ϥ� find �աI����Ϊ����O�i�H���N��I���N�O
whereis �P
locate �o�I�I
���A���ޫ�A find �b��M�S�����ɮ��ݩʡA�H�ίS�����ɮ��v�� (SUID/SGID����) �ɡA
�O�۷����Ϊ��u��{�����@�I���n���n�I
- ����O������|�P�۹���|
������|���g�k���� / �}�l�g�A�ܩ�۹���|�h���� / �}�l�g�I���~�A�۹���|���۹��ثe�u�@�ؿ������|�I
- �p����@�ӥؿ����W�١H�Ҧp�� /home/test �ܬ� /home/test2
mv /home/test /home/test2
- PATH �o�������ܼƪ��N�q�H
�o�ӬO�Ψӫ��w�����ɰ��檺�ɭԡA�ɮj�M���ؿ����|�C
- umask ������γB�P�u�I�H
umask �i�H�����@���ݩʡA�]���A�A�����w�q umask ���U��t�Ϊ��w���A
�]���L�i�H�Ψӫإ߹w�]���ؿ����ɮת��v���C
- ���@�ӨϥΪ̪� umask ���O�� 033 �P 044 �L�ҫإߪ��ɮP�ؿ����v������H
�b umask �� 033 �ɡA�h�w�]�O���� group �P other �� w(2)x(1)
�v���A�]���v���N�����y�ɮ� -rw-r--r-- �A �ؿ� drwxr--r-- �z�ӷ�
umask 044 �ɡA�h���� r ���ݩʡA�]���N�����y�ɮ� -rw--w--w-�A�ؿ� drwx-wx-wx�z
- ����O SUID �H
���@�ӫ��O�㦳 SUID ���\��ɡA�h����L�H�ϥγo�ӫ��O�ɡA�ӵ{�DZN�㦳���O�֦��̪��v���C
- ���ڭn�d�� /usr/bin/passwd �o���ɮת��@���ݩʮɡA�i�H�ϥΤ�����O�Ӭd�ߡH
ls -al, file, lsattr
- ���ե� find ��X�ثe linux �t�Τ��A�Ҧ��㦳 SUID ���ɮצ����ǡH
find / -perm -4000 -print