����w���A���@�A��s�峹�аѦ����B
�b�e�@���`�̭��ڭ̻{�ѤF Linux �t�ΤU���ɮ��v�������H�Υؿ����t�m�����C �b�o�ӳ��`�����A�ڭ̴N�����Ӷi�@�B���ާ@�P�޲z�ɮ׻P�ؿ��a�I�]�A�b���P���ؿ����ܴ��B �إ߻P�R���ؿ��B�إ߻P�R���ɮסA�٦��M���ɮסB�d�\�ɮפ��e�����A ���|�b�o�ӳ��`�@��²�檺���аڡI

1. �ؿ��P���|
�@�@1.1 �۹���|�P������|
�@�@1.2 �ؿ��������ާ@�G cd, pwd, mkdir, rmdir
�@�@1.3 ��������ɸ��|���ܼơG $PATH
2. �ɮ׻P�ؿ��޲z
�@�@2.1 �ɮ׻P�ؿ����˵��G ls
�@�@2.2 �ƻs�B���ʻP�R���G cp, rm, mv
�@�@2.3 ���o���|���ɮצW�ٻP�ؿ��W��
3. �ɮפ��e�d�\�G
�@�@3.1 �����˵��ɮפ��e�G cat, tac, nl
�@�@3.2 �i½���˵��G more, less
�@�@3.3 ����^���G head, tail
�@�@3.4 �D�¤�r�ɡG od
�@�@3.5 �ק��ɮ׮ɶ��P�ظm�s�ɡG touch
4. �ɮ׻P�ؿ����w�]�v���P�����v��
�@�@4.1 �ɮ׹w�]�v���Gumask
�@�@4.2 �ɮ������ݩʡG chattr, lsattr
�@�@4.4 �ɮׯS���v���GSUID/SGID/Sticky Bit
�@�@4.3 �ɮ������Gfile
5. �ɮת��j�M�Gwhich, whereis, locate, find
6. �������D�m��
7. �w�糧�媺��ij�Ghttp://phorum.vbird.org/viewtopic.php?t=23879

�ؿ��P���|�G
�ѫe�@���`�yLinux ���ɮ��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�ϥ� �ycd etc �z�O�H�����ܧA�n������y�ثe�o�ӥؿ��U�� etc �ؿ����z�A���p�i�O���@�˪���I�q�`�Ĥ@����IJ Linux ���ϥΪ̱`�|�d���o�@�Ӹ��|���[���I ����۹���|�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 �����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

    �ɮ׻P�ؿ��޲z�G
    �ͤ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

    �ɮפ��e�d�\�G
    ���ڭ̴��쪺���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
    �����˵��ɮפ��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 �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

    �ɮ׻P�ؿ����w�]�v���P�����v��
    �ѫ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
    ���G
      cp ~/.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 ���� 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 ���۫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�G
    �ɮת��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�ھڡyPATH�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

    �������D�m�ߡG
    ( �n�ݵ��׽бN�ƹ����ʨ�y���G�z���U���ťճB�A���U������ťճB�Y�i��� )

    2002/06/26�G�Ĥ@������ 2003/02/06�G���s�s�ƻP�[�J FAQ
    2003/02/07�G�[�J basename �P dirname ������
    2004/03/15�G�N�s���ɪ����e���ʦܤU�@���`�GLinux �ϺлP�w��޲z
    2005/07/19�G�N�ª��峹���ʨ� �o�� �F�C
    2005/07/20�G�I�I�I�n���e���ڡ�b�Q�䭷�����쪺�C����A�ש�g���o�өN�N��
    2005/07/21�G�b find �����A�h�W�[�F�d�ҤE�A�H������Q���ɮפj�p (size) �j�M���\��C
    2005/07/25�G�b SUID/SGID/SBIT �����A�̾� netman �P �p�{ �S����ij�A�ק�F�������ԭz�I
    2006/04/09�G�b rmdir ���d�Ҥ��A�֤F�@�� -p ���ѼơI
    2006/06/15�G�g�ѰQ�װϺ��� dm421 ���q���A�o�{ chattr ���������� d �g���F�A�w�q���C
    2006/08/22�G�W�[ rm ���@��²�檺�����I�ר�O�y rm ./-aaa- �z���R����k�I